邀约-2018.04.03
职位:高级 开发
待遇.png 职位要求
要求应该非常高,马哥在阿里杭州菜鸟网络P8职位,月薪35k(大于15个月)+25w期权。也就是招聘阿里P7+以上的职位。
面试经历--持续更新中
面试时间:2018.04.12 16:50 由于个人原因,改了三次时间。
一个二十多岁的年轻小伙子,抱着一个顶配新款Macbook过来。
自我介绍 : 主要讲项目
面试官简单介绍美团Java职位关注的技术栈
算法、Java技术栈、MySQL数据库、Linux使用、设计模式(设计)
面试时间只有一个小时
算法 - 每个10分钟写出来
1. 打印全排列所有组合顺序。 -- 考察递归
如: 3! 打印
1 x 2 x 3
2 x 1 x 3
2 x 3 x 1
3 x 2 x 1
2. 单链表逆序
Java技术栈
1. 你对Java哪些熟悉?哪些看过源码?
介绍了String,StringBuffer,StringBuilder
collection集合
并发包
BIO/NIO/AIO
2. 你对HashMap如何理解的?
考察源码:初始化、默认因子、内部实现Map.Entry、rehash扩容过程、并发情况下死锁、JDK 1.7通过链表解决冲突、JDK1.8通过链表(当长度大于8)和红黑树解决冲突。
追问:HashMap中怎么计算hashCode的?为何扩容会是2的N次方?这样有什么好处?
追问:链表和红黑树的好处?
追问:知道二叉树,B树、B+树的区别么?哪个用于索引中?
[数据库相关知识]
追问:B+树索引有的特点及优势?
索引覆盖...
追问:聚集索引、非聚集索引底层实现上有什么区别?
3. ConcurrentHashMap是如何实现的?
介绍了1.7分段实现,1.8 CAS实现。
追问:详细讲讲底层实现原理?
追问:讲讲CAS的理解?
4. 讲讲BIO/NIO/AIO的理解?
追问:NIO Reactor模式怎么回事儿?
追问:epoll与select实现的区别?
[Linux]
1. Linux熟悉吧?
2. Linux如何排查CPU使用过高的问题?
你用过Top命令,还用过什么?free命令用过么?
linux中free命令里面的cache和buffer有什么区别?
3. 说说inode文件结构?
4. 说说Linux 软链接和硬连接区别?
[设计模式]
讲讲你常用的设计模式集使用的地方?
Java源码看过哪些?
Spring/Spring MVC中用到了哪些设计模式?如何使用的?
Tomcat源码看过没有?
补充:群友分享面试题
技术交流请入群,进群说明为何添加?
大宽宽的技术交流群
网友评论
没有B-树只有B树,B-树是翻译错误导致的。
还有个疑问阿里菜鸟P8才35K?