2015我的校招季,阿里、搜狗、百度、蘑菇街面试总结

随着拿到蘑菇街的offer,我的校招季便算是结束了。如今闲下来。想写篇总结下之前的校招路,纪念一下。个人水,大神请轻拍。。

总共參加了4场面试,然后拿到一家offer。然后就没有然后。自己太懒,没再去找了。。。

背景:无牛逼竞赛经历,无牛逼项目,无牛逼实习,三无人员,目标JAVA开发。

阿里(1面):

阿里是校招第一家面试,各种忐忑。

面试官看上去蛮凶的,先是自我介绍。然后看着简历问。

1:项目介绍,说说java socket,服务端怎样知道client发生中断;

2:多线程问题,如果有n个线程,怎样让它们同一时候開始运行,不能够边新建边start。

我说让全部线程一開始都堵塞在一个对象锁上,然后用notifyAll。面试官不惬意这个回答。

3:实习相关的问题,大量数据情况下数据库的处理方式,我说採用的分表。然后问分表怎样实现。任意说了点。面试官依然不惬意,然后写SQL语句。

4:B树怎样实现。我画了个图。然后说了些B树的性质,面试官让我代码实现,写了一会,写不下去了。。。

5:算法题:如果甲乙两人分隔两地。甲知道甲乙两人间距离,乙什么都不知道但能够打电话问甲两人间距离。乙能够每走10分钟打电话问甲两人间的距离。问怎样最少次数的通话使得乙走到甲那里。

一開始被面试官气场弄慌了,发挥很不好。

搜狗(1面):

面试官说搜狗就一轮终面。感觉自己发挥还行。结果还是跪了。。。

依然看简历。问问题

1:项目介绍,权限管理怎么实现。session、cookie相关问题,缓存问题。

2:数据库相关,索引的实现,B树B+树,吸取阿里教训,特地看过一遍,答得还行。然后问在两个字段建索引,不同顺序的影响。结合B+树说了一点。

3:JAVA基础。内存溢出的几种情况,分别说了栈、堆、方法区出OutOfMemoryError的情况,然后说了堆的内存模型:年轻代(Eden、Survivor)、年老代,然后说了几种垃圾收集算法(复制、标志-整理)。

4:Linux相关,怎样查看磁盘空间占有情况,怎样查看进程中某线程状态。

5:Tomcat怎样实现,说了连接器、四种容器的实现,又问了tomcat高并发存在的问题。说了下nginx中epoll的实现。

6:算法题:一个数组。里面元素先从大到小排列再从小到大排列,怎样最优找到最小值。

基本搜狗的问题都回答出来了,结果被刷,无奈。。

百度(三面):

一面:

1。介绍项目。hibernate几级缓存,mybatis与hibernate的差别,你对两个框架的理解。随便答了些。

2,问了Spring的源代码,ioc、aop怎样实现,annotation知道多少,用过哪些annotation。水水地说了一些。然后又问为什么用SSH不用SpringMVC,答不上来。

3,Java集合相关,List、Set、Map差别。ArrayList、HashMap怎样实现,对hashcode方法有什么理解。有准备答得还行。

4,谈了些实习做的事。

5。算法题:给你一个字符串,输出该字符串的全排列(去重),写完代码。和面试官说了下思路。面试官说复杂度太高。怎样优化,没优化出来,面试官说能够优化到线性复杂度,让我回去想。

二面:

1,介绍项目。

2,设计模式相关,说说你知道的设计模式。一一列举,然后让我实现适配器模式,写了代码,面试官又问,适配器模式和中介模式差别,依照自己理讲解了点。

3,介绍实习。

4。线程池怎样实现。于是把自己写的线程池说了一遍。

5,java内存模型,垃圾收集。

6,算法题1:一个数组,有三个数出现超过1/4,找出这三个数。要求时间复杂度O(n),空间复杂度O(1)。这道题和面试官讨论了好久,当时有点乱,只是思路应该是对的。

算法题2:非递归实现二叉树深度,写完代码,面试官看了没说什么,然后时间差点儿相同到了。就回去了。

三面:

1,介绍项目。介绍实习,面试官兴趣不大。

2,说说互联网发展趋势的看法。你最经常使用的app,对O2O的看法等问题。

3。你最自豪的事。你和周围同学相比有什么优势。

4。跟我介绍了百度的员工培训。好像非常厉害的样子,还要修学分。。。

百度基本上把我知道的都问了个遍,等于帮我梳理了下知识,尽管没进,但收获非常大。

蘑菇街(拿到offer):

一面:

1,介绍项目,简历上写的项目问了个遍,介绍实习,实习遇到的问题等等。

2。java内存模型,垃圾收集。java socket相关。

3,tomcat怎样实现的。

4。线程池怎样实现的。

5,职业规划。

二面:

二面两个人。一人先是问了项目和实习,又问了线程池、tomcat、java内存模型。

还有一人就是聊天了。你印象最深的事。聊聊经历之类的,问面过哪些公司。由于什么原因没过,又问了如果好几个offer,怎样排序的。

蘑菇街是我之前挺想进的,又正好在杭州,于是拿到offer后就不再找了,最重要的还是由于懒。


推荐书籍:

深入理解操作系统,现代操作系统;

计算机网络

组合数学

大话设计模式

深入理解java虚拟机:jvm高级特性与最佳实践

how tomcat works

剑指offer、编程之美、

推荐站点:

http://hawstein.com/archive.html

http://leetcode.com/

July结构之法算法之道

总结:

由于之前准备比較充分,笔试都能通过。成绩也还不错。但自己做的项目在面试官看来没啥深度,没有某方面能力非常突出,这是自己的硬伤。面试官不重视你不会什么,而是重视你会什么。所以假设有某方面知道得比較深那是极好的(比方:网络编程、操作系统、数据库、算法等等)。


原文地址:https://www.cnblogs.com/lcchuguo/p/5235332.html