纸上得来终觉浅,绝知此事要躬行
——2017春季Java后端研发工程师面试心得
收获offer:上海汉得+北京中科软+成都百词斩+成都诺基亚研发中心+清华大学计算机研究所等offer、阿里一面猝、京东三面通过,进入备胎池,呵呵~)
本人徐佳庆,作为大三汪一枚,从2017年2月15日,开始了的属于自己的实习求职之路,哈哈。截至到今天,已经有将近三个月了。在这段求职的日子里,本汪真的是饱经了摧残,酸甜苦辣尝了个遍。
说到底,未来还是迷茫呢,想想刚入学时的暗下决心,“我一定要去BAT!”,现在经历了这些,恍然又证实了“理想很丰满,现实很骨感”的“千古名言”,让人不得不去痛定思痛,看清自己,给自己一个合理的定位。
好了,废话不多说了,切入正题,就以我印象最深刻的一次面试经验和大家聊起吧,走起!
【京东】
笔试:
这个笔试本来是可以不参加的,因为我们实验室王兵老师,帮我找了在京东一位的师姐,帮忙内推(tips:和导师搞好关系,省去了笔试,会为你带来很大便利),但是据说是系统有了啥子问题,不能走内推渠道了,只好重新参加笔试了。(宝宝内心是拒绝的!)京东的笔试,整体不难,选择题考的比较全面也比较深刻,涉及到了java基础、操作系统、计算机网络、数据结构和数据库,说实在的很基础,只要平时学扎实了,后面复习到位了,就没毛病!本次的编程题不是很难,这个只要大家平时抓住基础,也就不会有太大问题。说到这里,还是推荐大家在牛客网多去刷刷题,你敢怒刷编程2000道,BAT都在向你招手呢,哈哈,实话。
一面:
一面的地点是在成都的向阳大厦,又是五星级宾馆。其实当时,我去的时候,基本就没有抱有太大的希望,因为受到过阿里面试官的一面摧残后,我就慢慢对这些大企业的面试充满了一种畏难情绪。但是这次有点不一样,比我先去的一位同班同学,面试了京东的一面,我听他给我的转述,不是特别难,然后自己就鼓起勇气,告诉自己,去试试看。。。
一面的面试官是个小姐姐,不是我在这里乱讲,声音真的好甜奥,哈哈。刚开始就是自我介绍,大概就是2分钟。其实在这两分钟的过程中,她是在浏览你的简历,然后根据你的简历进行发问。我记得,当时,她先问了我的项目,然后在简历上对应的位置上进行标注,表示你会使用什么技术。然后,第二遍的时候,她会根据你的技术点,对你进行更为深入的发问。一面,她问到了这些:
(1)我项目中使用sql server和asp.net做了油井安全预警系统,她就问了我在项目中多条件的复杂查询是如何实现的,从前台设计说到后端的数据库表的设计?
(2)谈下servlet原理以及其生命周期?
(3)监听器和过滤器的区别和应用场景?
(4)Spring mvc的特点?
(5)Spring IOC 和AOP?
(6)Spring 注解的实现原理,形参列表和返回值如何获取?
(7)谈谈ArrayList和LinkedList?
(8)你做过推荐系统,那你的推荐系统是如何设计的?算法是如何设计的?
(9)Jdk 和JRE的区别和联系?
(10)collection和collections的区别?
(11)数据库事务的特性以及数据库事务的隔离级别?
(12)谈下nosql?
(13)Bootstrap的设计理念?
(14)说下collection的继承树?
(15)jvm垃圾回收机制,深入到内存的分配?
(16)期望的工作城市?
一面完毕,小姐姐让回去等待通知,结果,当天晚上8点就等到了二面的邀请,哦耶~
二面:
说实在的,面二面的时候,心里压力还是挺大的,感觉二面的人,明显没有面一面的人多了,还是刷下去不少的人。二面的面试官,是个40岁左右的男性,一看就很老练,也不笑,一脸严肃的样子,(唉,这个时候就不能提一面的小姐姐,哼~)。大家都知道,二面,俗称“压力面”,这一面果然名不虚传,二面中的问题更加深刻和尖锐,感觉自己整体面的还行,可能细节上不是很好。二面,还是基于项目进行深入并会进一步展开。
(1)你做过数据挖掘的项目,数据清理的工作是怎么做的?
(2)hibernate和mybatis的区别?
(3)你都知道哪些设计模式?设计模式的好处的什么?
(4)spring mvc中用到了工厂方法模式,该模式和传统的工厂方法模式有什么区别和联系?
(5)手写快速排序算法?时间复杂度?和冒泡排序的对比?
(6)缓存用过吗?memcached和redis的区别和联系?
(7)负载均衡了解过吗?
(8)谈下static关键字?
(9)谈下final关键字?
(10)期望的工作城市?
总体,二面问的更加接地气,问的更深入了,可能自己的回答不够完备,也可能自己的答案并不是面试官想要的,所以二面感觉面的很平常。此后,面试官让回去等待HR面的电话通知。
三面:
二面结束后的第二天,接到了来自北京京东商城的HR的三面的通知,主要包括:
(1)自我介绍?3分钟左右
(2)户籍是哪里的?
(3)拿的奖学金?
(4)做过的印象最深刻的项目?最大的收获是什么?
(5)能不能保证实现3个月以上?
(6)比较下手头的offer?(其实是通过你的比较,她去获取你的求职的意向和基本的职业倾向)
三面完毕,还是让等啊(心塞~)HR说的是一周之内给答复。然鹅,在第八天的时候收到了感谢信,感谢信,感谢信,唉,只能说尽力咯!
好了,下课!
其他的还有很多具体的面试知识点,由于时间关系,就不在枚举,有需要的同学,加我QQ:3072966990,我们详细聊下吧,嘿嘿。
总结:
下面,我总结几点,提供给大家参考:
(1)简历上的项目一定要写清楚项目的背景、你在项目中所承担的角色,这样面试官才方面根据你的功能点进行发问,否则他连你要做的什么东西都搞不清楚,你还指望他问你技术的细节?
(2)回答问题一定要有逻辑,对方如果问的比较宽泛,比如:“你怎么看XXX”、“谈谈你对XXX的认识”,这样的发问,一定要理顺思路再回答,从概念、原理、应用、相同点、不同点、优势劣势等角度分析。这样,面试官会觉得你思考问题有逻辑。
(3)对自己不会的东西,一定要勇敢说“不知道”,在程序员的世界里只有0和1,你给面试官整模棱两可的东西,会给你的印象减分的。
个人感受:
纸上得来终觉浅,绝知此事要躬行。自己和那些大牛还是有很大的差距的,无论是基础知识,还是在前沿的知识上,都需要进一步的努力,去提升自己。
回头想想,三个月的奋战,自己又不仅仅是为了找一份满意的工作,重要的是,自己在复习的过程中,进一步理顺了作为一个java后端研发工程师的学习路线,巩固了基础的专业知识,夯实了需要具备的基本技术能力,这便是一种收获!
是不是必须进了BAT才算的上是人生的成功?我想未必!只要有一颗热忱的心,慢慢在自己的工作岗位,在程序人生的道路上摸爬滚打,总会“柳暗花明又一村”!(哈哈,听我絮絮叨叨咧,等待社招再战!)
分享人:14软件卓越 徐佳庆