一场让我持续懵比的面试

今天面试回来,已经是10点。突然想去网吧写这一篇面试总结。今天面了3家,感觉还不错。同时也感谢掘金Java交流群、Android开发就业交流群、图灵Java技术交流群里面的大佬对我的鼓励。

第一家 XX科技

今天一大早就起来了,去洪山广场去面试。面试官拿着我的简历匆匆看了几眼,问我能不能上手做项目。于是乎,他指着苹果手机上类似一元云购的软件,问我能不能加个第三方登录和注册的功能。我说,给我时间看一下官方文档,应该是可以的。然后他把我带到了一个办公室,办公室有一张宽敞的桌子,上面摆着4台电脑,窗外的风景很是美丽。

他给我介绍团队,一共有3个人,一个是前端,另一个是美工,还有一个是运营。他先让我看一下项目的代码,看我是否能胜任。于是,我花了大概10分钟粗率的看了项目源码,大致的技术框架是SpringMVC,Spring,MyBatis,JPA,Mapper,PageHelper,Shiro,WebSocket等等。项目构架是用的Maven,部署用的服务器是阿里云。说实话,项目还是挺大的。对于实习生的我,在没有人跟我交接的情况下,理清这个项目的业务逻辑还是很吃力,但这也是时间问题。还有一些技术框架我也没有用过,但是我还是有信心能胜任。

对了,美工妹子长的还是不错的。可是我的女朋友比她还要漂亮。在观看源码的时候,我闻到了一股很严重的脚臭味。不知道是美工的脚还是前端的脚臭,简直熏死我了。

在这里说一下,面试官很年轻,是个小鲜肉,好像不懂技术,只在乎你能不能动手写项目。后来我叫面试官出来,想和他聊一下。我说了我的困惑,然后我拒绝了他。

那个不懂技术的面试官,给我开的薪资是4k,转正5K + 项目提成。第一,我感觉薪资有点低了。 第二,团队没有Java开发人员,看源码的时候,发现最早创建日期是2016初,看来项目有点历史了,我也不知道源码从哪来的。 第三,办公室有脚臭味。 第四,我希望团队里面有几个Java开发人员,能一起讨论技术,共同成长。 第五,我感觉这是一个黑外包,做的一元云购其实是游走在灰色地带了。百度一元云购可以搜索出来很多家破人亡的新闻。第六,我在观看源码的时候,发现有一个命名为Robot的包,里面的代码主要的逻辑是随机生成一定数量的机器人、机器人竞拍商品、机器人中奖该商品。第七,我感觉我技术还是很菜,还需要学习,目前还不能胜任独立开发。

第二家 XX科技

这家XX科技好像是去年成立的公司。公司整体装潢还是很不错,但是墙面有点开裂,甲醛味很重。公司里没有几个员工,留的空位子还是很多,看来很是缺人。

和我一起面试的有4个小伙伴,他们陆陆续续被HR叫出来面试了。和小伙伴的谈话中,了解到实习2.5K,转正3.5K,不包吃不包住,日常的任务是写静态页面,纯HTML那种。

我一直想不明白,为什么去面试的时候HR总是让你填写无关紧要的信息表。比如家属名字电话工作,身份证号等。

回归主题,当HR把我叫出来面试时,HR说,我看到你的自我介绍条理很清晰,不错。接着,HR就说公司的业务方向,噼里啪啦讲了好几句。然后我就开门见山的说,实习工资最低4K,转正工资最低6K。HR听了我的要求后,一言不发,默默的记了下笔记。离开的最后,我跟几位HR说了几句谢谢,然后开心的走出了大门。

于是乎,第二次面试就这样结束了。

第三家 XXXX电子股份有限公司

首先说笔试吧,笔试卷子上面写的是Java中高级题目,但是我做起来发现基本都是牛客网的原题。做起来,也没有什么压力。编程题做的不是特别好,答题的区域太小了,容不下我修修改改的代码。

还有就是Java核心库中一些方法名,参数顺序记得不是很清楚,总体来说编程题还是很基础的。

另外,我也希望这家公司能好好出笔试题,不要拿牛客网的原题敷衍了事。

接着说面试吧,感觉面试官准备的很充分,问的知识点很细很细,把我问懵逼了。(这里也呼应了主题,首尾呼应,升华主题)面试下来,大大小小的问题有几十个把。有些问题,我回答的意犹未尽,但是面试官却暗示我停下来。让我感觉有点不痛快啊!

下面就是面试官问我的一些问题

  1. Java语言的特性。
  2. Java语言的鲁棒性、和C++的区别。
  3. 说出基本数据类型,封装类型。
  4. 基本数据类型和封装类型的区别。
  5. int、byte,short占几个字节,取值范围是多少?
  6. 关键字Volatile的作用。
  7. final,finalize,finally 的作用和区别。
  8. 你所知道的单例模式,说一说优缺点。
  9. 实现多线程的方式,以及优缺点。
  10. 说一说线程中的状态。
  11. sleep()和wait()的作用和区别。
  12. 线程同步的方式。
  13. 说一说ThreadLocal。
  14. 说一说你知道的Java中数据结构有哪些?以及它们继承什么,之间的关系是什么。
  15. LinkedList是什么, ArrayList是什么,它们使用场景以及区别,它们的底层实现是什么。
  16. HashMap 和 Hashtable的区别。
  17. 讲一下AOP。
  18. 什么是IOC,DI?
  19. 动态代理的源码。
  20. 讲一下什么是Spring,以及实现的原理,源码。
  21. 讲一下什么是SpringMVC,以及实现的原理,源码。
  22. 讲一下SpringMVC处理请求流程。
  23. JDK代理和CGLIB代理的区别。
  24. 讲一下MVC,MVP,MVVM模式
  25. MyBatis调用存储过程,返回什么?
  26. 在一个类里面,如果一个方法没有加任何访问修饰符,它是什么?它的作用域?
  27. 讲一下堆区和栈区?
  28. 讲一下JVM中年轻代、年老代、方法代。说一说分别存放着什么?
  29. 有没有使用一些工具检测JVM中内存的分配。
  30. 讲一下垃圾回收机制。
  31. jQuery有哪些选择器。
  32. 说一说单链表的实现方式。
  33. 顺序存储结构和随机存储结构。
  34. SpringBoot是什么? 它和SpringMVC的区别是什么? 它有什么优点?
  35. 你做了什么项目,聊一下你最熟悉的项目。
  36. 你在以前公司干了什么,为什么要辞职?
  37. Http状态码

一场让我持续懵比的面试

我只记得这些问题了。这些面试问题,我基本也回答上来了(其中不乏瞎扯),知识点问的很全面。这些笔试问题我都有所总结,回答上来自然水到渠成。我回答这些问题,都是尽我可能的去回答详细,表达清楚。因为我想在每一次面试中,锻炼自己的表达能力,同时也温故一下基础知识,查漏补缺。说了这么多,其实我在吹逼。

手写代码有点蛋疼,但是题目还是很基础的。

编程题目

  1. 基于泛型的Map实现10个英文单词的汉语翻译,即通过单词得到它的中文含义。考察泛型和Map的用法
  2. 字符串的一些处理。主要考察equals(),StringBuffer,replace()的用法。
  3. java中怎么计算两个日期之间的天数。主要考察getTime(),SimpleDateFormat,parse()的用法。

相关推荐