2016实习招聘阿里和蘑菇街面经分享--java后端

我是一个渣渣本科生,之前发过阿里两次面试的面经,因为第三次面的很渣,以为被干掉了,后来就没发了,总共面了阿里、网易、蘑菇街这三家杭州的公司。阿里今天查了一下,状态从面试中变成了待跟进offer,不知道能不能拿到。蘑菇街昨天面了三面,感觉也还可以。网易的现场面面的很糟糕,也有可能是和面试官不搭,一面就挂了。
阿里一面:
面试官是菜鸟物流的,主要是做业务层,所以也算我运气比较好,问的问题不是很难。总结一下:
1、自我介绍(这里我简介了实验室的学习经历,忘了说技术栈,后来他提醒我才说)
2、说一下多态和重载(第一次面试,开始真的是太紧张了,说这个都卡壳了半天,有点哆嗦的感觉)
3、说一下排序:
排序我比较熟,基本上排序的原理、复杂度、优化等基本都很清楚。
插入排序,插入变种希尔排序、冒泡排序、选择排序、快排原理和优化、堆排序原理、归并排序
4、平衡树
介绍了在平衡树的特点,插入后左旋、右旋等情况。引申到mysql b-tree
5、jdk类库和源码
arraylist、linkedlist、hashmap(介绍了hash冲突,1.7用的是链表,1.8升级为红黑树)、concurrentHashMap原理、LinkedBlockingQueue原理等
6、一个算法题
求重复字符串出现最大次数
7、一个sql
课程表里面求所有人分数最高的两个人
8、我的简历里面mysql写的较多开始问Mysql
inner join 和 left join 分别的特点和性能比较
(性能比较这我记错了)
mysql索引基数选择性
group by 松散索引优化等


9、开始问项目中的问题
一个文件云盘的数据库表设计以及遇到的问题
10、让我再说一个做过的项目和遇到的问题
我说了知乎爬虫,遇到问题是爬下来的数据有一些重复的,因为一个问题有很多标签。
解决:用一个hash算法hash问题的标题,求出hash值,然后根据hash添加,还有种方式是放到数据库中去重对比性能   
阿里二面:

二面很直接,都没让我自我介绍,直接上项目:
1、说个你觉得最有意义的项目
说了一个分布式项目
然后谈了技术选型,如何实现,其中遇到的问题,当时的调度算法是我们自己实现的,有哪些不足,如何改进,我说的是2pc改进的。


2、看了我的博客,地址:http://blog.csdn.net/mr253727942/article/,然后问了hashmap的一些问题,多线程get是否会不安全,为什么。
我回答不安全,说了一些内存模型。
3、继续走项目 一个app后端项目,问了几个人实现,涉及的技术spring quartz ehcache等等。然后问了其中的缓存Key怎么设计,因为其中有个爬虫用了httpclient,问我长连接服务端应该怎么办?
我先回答用心跳包保持连接,然后说给每个客户端一个标记存放到map里面记录,然后用线程轮询哪些客户端回复,最后再写回去。 (之前没做过长连接,忘了说NIO 这里是最大的失败。 ) 然后面试官问如果客户端断开如何处理,我就说先设置一个超时时间,超时后重传一次,重传失败就客户端关闭。然后面试官问关闭后的端口怎么办,我就知道来到TCP了,然后说了TCP四次回收,time_wait需要2MSL的等待时间,因为之前项目里面遇到过这个问题,当时我是通过改linux内核的TCP等待参数完成的。然后面试官又问我是不是等待参数越小越好,我说不是,因为如果真的是因为网络延迟,参数小了很容易关闭长连接,这样就会影响用户体验。
整个流程大概就是这样,一些小的地方就没说了,哎 感觉发挥的不是很好,问面试官是否有下次面试的可能,他说有可能,让我等电话。



网易的我就不发了。
蘑菇街的三次面试:
一面:
一面问的很多很杂,大概一个多小时:
1、项目,找了一个后端的项目,问的很细,对里面的一些细节抠的也比较深
2、mysql:索引,优化,表连接
3、java:jvm虚拟机、jmap以及jstack等工具、jdk类库、并发库
4、各大排序原理和优化
5、TCP握手挥手
6、操作系统(我不太会,没正式学过,都是平时积累的 )
二面:依然是项目,可能是一面时间比较长,二面不太长,针对项目中的一些点提出了一些问题,问了我如何改进和优化,比如说递归结构的目录,每次查询时需要消耗大量时间,如何处理等等。
三面:三面半个小时,面试官应该是总监级别的,人也挺好的,视频面试。也是问了些项目中的地方,让说了paxos算法,然后问了一个APP后端项目遇到的问题和解决方式,最后让写了个简单的题,分解公因式,最后说是当天会联系我,结果并没有,几次面试加一起蘑菇街差不多放了我三次鸽子。不过也可能是因为他们人手不够吧,原谅他们了,毕竟大家都不容易。
在牛客网待了三个月了,寒假开始用牛客网复习的。作为大学生,咱们的职业生涯连开始都不算,所以无论拿不拿的到offer,生活都在继续,学习都在继续,代码也在继续。只要保持一颗好奇的心和良好的态度,总会拿到自己想要的Offer。
个人资料
bjchenli
等级:8
文章:260篇
访问:22.0w
排名: 3
上一篇: 2016阿里前端开发实习生面试经历
下一篇:阿里巴巴研发工程师Java(2016/03内推)面经
猜你感兴趣的圈子:
笔试面试心得
标签: 蘑菇、面试官、面试、二面、阿里、面试题
隐藏