下面罗列2017阿里实习生面试的详细题目,给有需要的人参考,攒点rp
#一面
1.写出知道的所有单例模式的写法
2.整数的二进制找出有几个1,效率要求最高
3.会场安排问题
4.如何用两个栈模拟一个队列
(前面四道考了30多分钟)
5.TCP三次握手的过程
6.http了解吗?(这道我直接说没有深入研究web开发)
7.java集合类,哪些线程安全,哪些线程不安全
8.线程安全问题(如何保证线程安全,哪些地方要使用线程安全;lock和synchronized区别,用哪个更好,为什么?)
9.用过volatile吗,说一下?
10.有看过JDK源码吗?(这个我说没有深入了解过)
11.数据库隔离级别哪几种?(这道直接说忘了,可以提示一下吗)
12.其他问题忘了
(没问项目,全问基础题,算法题最重要,答不好估计过不了)
#二面
1.详细问了项目的整个架构和一些具体功能,关键技术的实现?(谈了估计快半个钟)
2.TCP三次握手,以及一些具体问题如”为什么要有第三次握手?客户端发给服务器的报文段丢失了怎么办?这时客户端还没收到服务器的确认包,那它会继续发吗?服务器收到之后重传的确认号应该是多少?”等等(两轮都问了TCP,总的来说就是要精通TCP,滑动窗口,确认重传都要很清楚)
3.线程安全问题(同一面)
4.平衡二叉树(说一下原理?开发实践中哪些地方要用到它?)
5.一个字符串中找出给定字符串,要求效率最高?(字符串匹配的KMP算法)
6.如果HashMap的大小超过了负载因子定义的容量,怎么办?
7.说一下hashcode?(自己关联了equals和==回答)
8.知道Unicode编码吗?(这道我直接说没有深入研究)
9.其他细节题,如char a=‘海’;float a=1.1; short a=1;分别问了这几个正确吗?
10.想问一道概率论的题目(我直接跟面试官说没修这门课,广外之前把概率论当选修课了…面试官也说那算了)
11.学习理论和做项目你是怎么看的?
12.问了我的职业规划是什么?
13.考不考研,为什么?
(能过估计是TCP,线程安全和hashcode与equals这几道题我答的比较好,面试官一直在点头)
#hr面
1.看到我的实践经历,问我怎么在学习中能抽出时间做这些实践?
2.看到我之前被内推过安卓,问为什么从安卓转做java?(我给了很多原因,面试官都表示不理解)
3.说一下职业规划?怎么学习自己这个方向?
4.详细介绍一个自己的项目?
5.自己扩展过的网络通信框架有测试过性能吗,比原框架好在哪里?从几个指标来回答?
6.实习去哪个城市都行吗?
(hr面表现不太好,没有事先准备)
#总结
TCP、Hashmap、线程安全等重要的知识点基本必考,准备面试的时候需要重点深入学习。
更多Java基础知识可以看看Java面试-基础与进阶知识点总结 ,希望可以Star鼓励一下,我们一起完善这份资料。