可能每个程序员都有个大厂梦,我也不例外。最近准备跳槽,前段时间在准备各种面试,也面了几个大厂,包括阿里、拼多多和京东等。但最后,我还是挂在了阿里第四轮。这篇文章来总结一下我在阿里四轮的面试经历,希望能对大家有所启发帮助。
阿里社招一般有四到五轮,我这次的流程是第一轮技术面、第二轮写代码、第三轮boss面、第四轮boss面、第五轮HR面。然而我没能和HR聊上一句。
阿里一面
- 首先自我介绍一下?
- 参加的比赛用到的技术?
- Java的集合类有哪些?详细讲List、Set、Map
- ArrayList和HashMap的区别是什么?HashMap如何解决hash冲突?有几大类hash冲突的解决方式?hash函数?
- 红黑树的特点?TreeSet说一下?应用场景?
- CocurrentHashMap了解嘛?详细说说底层和锁的机制?应用?和HashTable的区别?
- StringBuilder和StringBuffer的区别?讲到底层和各自应用场景
- Java的锁都有哪些?偏向锁、轻量级锁、重量级锁、Lock包等都说了说
- synchronized和Lock的区别?ReentrantLock?
- 什么是线程?线程进程区别?实现线程有几种方式?
- 线程池这块了解嘛?创建线程池的方式?用哪个方式创建比较好?说一说线程池的工作原理?拒绝策略?
- sleep()和wait()的区别?
- IO模型了解嘛?BIO、NIO、AIO?
- 快排和堆排?时间复杂度?如果数据量非常大,要进行排序的话直接快排性能不好,怎么进行优化?
- 计算机网络OSI模型都有哪些?
- TCP和UDP的区别?应用场景?
- JVM的内存模型说一下?运行时数据区?
- 你了解的垃圾回收算法都有哪些?引用计数和可达性分析区别?
- 什么是索引?索引的作用?
- InnoDB底层结构?和MyISAM的区别?
- 假设要对sql语句优化,一般从哪几个方面来进行?
- 事务隔离级别有哪几类?各自解决什么问题?当前读和快照读?MVCC机制?undolog?
- 数据库的乐观锁和悲观锁说一下?