本来是想暑假待在家里,投简历,然后电话面试,通过的话就直接去北京入职。想的倒是很顺利,也投了很多简历,接了很多电话,但同意电话面试的公司并不是很多。先后面试了几个小公司,最后是通过了,但薪资给的太少,由于我是要在北京租房的,给的钱根本不够自己生存,所以就拒了几个offer没有去。
就这样持续了一周,一直也没有拿到合适的offer,感觉有必要去北京了。所以通过电话约了几个公司面试,一个人买了机票,准备飞去北京。这中间还有个小插曲。那晚我刚到机场,然后就被通知航班取消了...尼玛!第二天的机票也卖没了,最后决定买火车票,无座的...一路站着去了北京,12个小时啊,站了整整一宿,到北京后,累得我,赶紧找了个酒店先睡一觉。
第二天,就开始了我的北京面试之旅。
一、凤凰网(1面+2面,拿到offer)
1面:(电话面试)
(1)自我介绍
(2)项目相关
(3)介绍SpringMVC的工作流程
(4)多线程相关(具体的有点忘记)
(5)JVM内存模型
(6)JVM垃圾回收机制
......
1面是在家面的,整个过程15分钟左右,问的很简单,每个问题我也回答了很多,最后告诉我说,二面要来北京...
2面:
(1)项目相关
(2)介绍集合框架中熟悉的集合类,如ArrayList、LinkedList等
(3)手写冒泡排序,时间复杂度。时间复杂度最低的排序算法是什么,时间复杂度是多少
(4)Lock和synchronized区别
(5)String、StringBuffer、StringBuilder的区别
(6)递归相关,以及递归的应用场景
(7)Java内存模型
(8)问我在校学过哪些课程,我说了大数据、云计算、计算智能技术等理论课。然后他就让我介绍一下了解的算法,我就简单的说了一下蚁群算法。
......
只能记起这么多了,反正问题都是很基础的,整个过程半个多小时,最后面试官向我介绍了他们团队目前做的项目,是关于凤凰新闻客户端的推荐系统,团队十几个人,大部分来自清北,如果我能去的话一定会学到很多。最后面试官送我出门,还给了我一瓶可乐,态度是真的好,对这个公司挺有好感。但由于种种原因,最后还是拒了。
二、小米(1234面,拿到offer,最终选择)
1面:(电话面试)
主要还是跟我了解了一下,我自己的情况,还问了很多项目的东西,数据库一些知识,最后说最好还是来北京参加后续面试。聊了大概20多分钟。
2面:
(1)自我介绍
(2)JVM内存模型
(3)垃圾回收机制
(4)手写归并排序,并分析时间、空间复杂度,以及是否是稳定排序。
(5)List中的几个常用的集合类,底层实现,扩容,区别等。
(6)HashMap的底层实现,JDK1.8的优化。
(7)项目相关
......
3面:
(1)ConcurrentHashMap底层实现,JDK1.7与1.8的区别等
(2)并发包下其他内容,如FutureTask等。
(3)Spring框架IOC和AOP相关,事务传播行为,默认是什么,简单介绍一下。
(4)Mybatis相关,如缓存等。
(5)SpringMVC的详细流程。
(6)介绍几个常用或熟悉的设计模式(我当时介绍了单例、工厂、适配器、策略、观察者)
(7)数据库的隔离级别,MySQL的默认隔离级别。事务并发所引起的问题。
(7)项目。中间说了一点用到的前端技术,然后面试官说,我们这里前后分离,你过来只需要写后端就可以了
......
4面:
问了一点Java基础知识,然后面试官介绍了他们团队目前的项目,简单地说了下薪资等。最后说今天就到这里了,后续我们同事会通知你结果。然后送我出门。
三、京东(1面 拿到offer)
只有1面:
(1)自我介绍
(2)问了很多项目相关
(3)Java泛型的实现原理
(4)HashMap的原理,以及1.7和1.8有什么不同,put方法如何实现等
(5)Java多态、继承
(6)用过IDEA没...
面试官介绍了他们组目前项目要上线,所以很忙,实习生过来也要一周6天,每天都要加班到晚上9点半。当时我说可以。但最后想了想,还是没有选择京东。
就这样持续了快20天的找实习,总算是结束了。面试了很多公司,也收获了很多。