【面试技巧】阿里巴巴实习生招聘电话面试分享
首页 > 知识 > 面试方法 > 正文
阅读(1004
互联网
2015-08-24 09:58:55
前段时间时间参加了阿里巴巴实习生内推/去哪儿网(都已拿到offer)招聘,在这里很大家分享一下自己面试经验和学习方法一面IO模型有哪些?进程线程的区别不同操作系统实现进程有什么区别gc算法,回收器有哪些ACID,...
\

前段时间时间参加了阿里巴巴实习生内推/去哪儿网(都已拿到offer)招聘,在这里很大家分享一下自己面试经验和学习方法
 
一面
IO模型有哪些?
进程线程的区别
不同操作系统实现进程有什么区别
gc算法,回收器有哪些
ACID,事务隔离机制
syn在方法上和代码块有什么不同
memcached和其他nosql的区别
解释mvc
threadlocal解释
volatile的作用
堆和栈的区别和联系
tcp和udp的不同之处
tcp如何保证可靠的
数组和链表的区别
排序算法应用场景
lucene全文检索原理
一面 总结:一面主要考察一些基本知识,计算机网络、操作系统、数据结构、数据库。第3题跪得很服(55分钟)
 
二面
浏览器输入www.baidu.com,整个流程
分布式缓存,一致性HasH算法,memcached内存结构
tcp三次握手
tcp滑动窗口解释
SSO单点登录
数据库分表,分区
说说对淘宝技术的了解
   
二面总结:二面时间比较短(33分钟),问题不是很简单,项目问得比较多,然后会引申出来一些问题,比如我写了memcached,他就会问我一些分布式算法,还有memcached低层一点的知识。比如我项目还有sso。所以他就会问我sso原理
 
三面
1.Arraylist和linkedlist的区别及原理
2.常用的IO有哪些,io框架用的什么设计模式
3.vector和arraylist有什么区别,设计源码
4.怎样创建一个线程,用什么启动
5,4个窗口,20个人怎样保证并发,说说ConcurrentHashmap,设计源码
6,了解过ACM吗?
7,两个数组一个100长度,一个101长度,前一个是后一个的子集。怎样找出多出的一个数
8,了解NIO吗?说说有点
9,JSP 9大内置对象,转发和重定向的区别
10.看过哪些书籍,说说作者和书的名字
11.分布式节点内部通信机制
12,说说你的框架,怎样理解MVC的
13.知道网络编程吗?说说分布式节点间通信方式
14,说说你的网站架构,SOA管理方式,什么是webservice
15,什么是RPC框架,有什么优点
16,你平常是怎么学习的
17.团队是如何管理的,你处于一个什么位置
18,怎样协调团队矛盾
19,分析网站架构,你为何要用memcached
20,介绍你的项目,分布式数据库怎么分表,用的什么中间件
 
总结:都说3面是交叉面,就聊聊人生而已,为什么我都基本都是技术问题呢!真的很醉!全程53分钟,跟一面一样,问得非常的全面,简历上面没写的都问了,然后在团队合作方面也问了,主要看眼界和潜力吧!还好挺过来了
 
去哪儿网的我就不写了,说实话比阿里简单很多!说说我的学习方法吧,这是我在知乎上面回答的文章。
 
我把我看过的书罗列一下吧! 
《java核心技术:卷一》,这个是我入门java的时候看的,非常适合新手!
《java设计模式》这本书虽然是个外国人写的,但是感觉不是很好。评价一般。学习设计模式的时候我一般都看大牛的博客。
《深入jvm虚拟机》 这本书不用多说,业界非常非常好的一本书!多看几遍,每一遍都有很多收获
《深入分析java web 技术内幕》 @君山 山哥,竟然还能@你出来!(不得不说,这本说在各个方面都非常优秀,不愧是偶像写的书!还求山哥多多照顾。嘿嘿
《Spring技术内幕》在spring源码讲解方面,个人感觉非常不错。能够深入理解内部机制,但是需要多看几遍(
《编程之美》业界翘楚,在算法方面终结的非常好,题目也非常优代表性
《剑指offer》不用多说,和上面一样
《java编程思想》传说是java行业内的神书,但是目前表示还处于一知半解状态
《Hadoop技术内幕》这个可以pass掉,学习hadoop的时候看的
《java网络编程》还挺好,不多说了
《大型网站技术架构》 @李智慧 在大型web架构方方面面简直膜拜
《分布式java应用:基础与实践》这个是毕玄大大写的书,非常不错哦
《how tomcat works》在讲解tomcat内部原理方面,个人觉得是非常不错的书!等级又要上升一个档次
 
当然咯,上面这些书我表示只懂50%,惭愧。不能完全吸收大牛的精髓啊! 
 
其他的,数据结构,计算机网络,操作系统,数据库都是平时学习的课本,数据库做项目的时候实践一下!先学习基础,在继续深入
 
数据结构不用多说,什么B树啊、红黑树啊、栈、队列等等,至少保证能够清楚的说出来,说出他们的原理!具体的应用场景是什么啊!
 
算法的话,建议题目多看看算法题目,或者把leetcode上的算法题目刷一遍(目前本人只AC的两道题,惭愧。知道该资源的时候已经晚了)。另外可以看看july的博客,结构之法 算法之道。目前july已经有自己的网站了,七月问答 ─ 面试·算法·机器学习快速问答平台 .本人是july的忠实粉丝,在此感谢 @July ,对我在算法方面有很大的帮助,谢谢
 
数据库就更多了,索引(结合B+tree,两个引擎的不同之处,推荐文章:MySQL索引背后的数据结构及算法原理)、存储过程、触发器,事务 @沈询 实力打广告,还有沈大大的视频和博客(http://weibo.com/whisperxd)微博里面有链接哦,ACID等等等等,SQL必须是要熟练的,写SQL的时候多考虑考虑效率,想想还有没有其他的语句能完成这个任务,在哪方面提高了,为何呢?数据库引擎要了解一下,分布式数据库也是,什么主从分离啊,分库、分表、分区啊,这些常见的解决方案
 
操作系统我属于渣渣,个人就知道一些进程、线程、一些调度算法之类的~~~~
 
计算机网络如果是研发岗位得话,TCP/IP这一张需要好好看看,HTTP协议不用多说,常见的状态码等等,一次http请求有哪些过程,这个要理解透彻
 
java:基础非常重要,当然也要深入理解原理,什么JVM,JMM,Classloader,还有一些常见类的源码,自己可以试着分析一遍,现在让你说出LinkedList的内部实现你能不能说出来,HashMap不用多说了。还有重要的,多线程,并发,网络,IO。这些都是要看看看看的!自己多思考!还有楼主说的那些框架,说实话,你要是基础好了,这些都是能够学得很快的,很多问题,看一下源码什么都就懂了!特别是spring的源码要好好看看,里面的架构设计得非常好!各种设计模式满天飞! 
 
另外,linux要了解一下,脚本语言可以学习一个。比如py!前端要了解一下. 
 
关于如何看书:两个字, 思考 !三个字, 不要脸的思考!…………,书不在多,在于精,选书要慎重!反正题主一本叫做“王者归来”的书,我看见名字我就不想看! 
 
除了这些然后呢:每天刷几遍CSDN,平常可以上上oj刷刷题目,也可以去leetcode上面把题目刷一遍哦。关注一些好的社区(我一般混迹在CSDN高性能javaweb板块),睡觉之前看微信公众号,当然是技术方面的!推送的文章都挺不错的! 
做程序员个人觉得眼界很重要,就算这不是你的领域,但是你也要知道一点,所以经常关注其他的新技术是非常重要的!平常多接触一点开源技术,多上上github,争取能在github上面贡献一点自己的东西! 然后,多看看别人的技术博客。思考自己!
延伸阅读

扫码关注微信公众号

版权所有 深圳市搜弘网络科技有限公司

Copyright © 2008-2024 www.zhaopinChina.com. All Rights Reserved. | 粤ICP备11064537号

二维码

扫码关注微信公众号