随着拿到蘑菇街的offer,个人校招季便算是结束了。现在闲下来。想写篇总结下以前的校招路,记念一下。我的水,大神请轻拍。。html
。java
总共參加了4场面试,而后拿到一家offer。而后就没有而后。本身太懒,没再去找了。。。nginx
背景:无牛逼竞赛经历,无牛逼项目,无牛逼实习,三无人员,目标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结构之法算法之道
总结:
因为以前准备比較充分,笔试都能经过。成绩也还不错。但本身作的项目在面试官看来没啥深度,没有某方面能力很是突出,这是本身的硬伤。面试官不重视你不会什么,而是重视你会什么。因此假设有某方面知道得比較深那是极好的(比方:网络编程、操做系统、数据库、算法等等)。