淘宝一面: 面试介绍
- 自我介绍?
- 项目介绍?
- 遇到的最大困难是什么?怎么解决的?
- 你觉得你能怎么优化这个项目?
面试题目
- 讲一下 JVM
- 讲一下 JVM 的分代回收以及具体算法
- 将一下 JVM 的垃圾收集器,G1 和 CMS 有啥区别?
- 讲一下一个变量从产生到结束所经历的过程,讲一下字符串常量的过程?5)将一下线程安全问题产生的原因?
- 讲一下乐观锁和悲观锁
- 乐观锁是怎么保证一致性的
- Integer 和 int 有啥区别,integer 中有哪些特殊的函数?
- 讲一下数据库的隔离等级
- 说一下 MVCC
- 说一聚簇索引和非聚簇索引的有什么不同
淘宝二面:
- 问了冒泡排序,快排,和归并排序及优缺点和优化
- 网络方面有 osi 七层,tcp/ip 五层,分别有哪些协议及作用
- 爬虫用的什么数据结构
- tcp 的流量控制和拥塞控制
- mysql 用的什么存储引擎,这个存储引擎用的什么数据结构 ,有哪些优缺点,怎么使用
- jvm 的垃圾回收机制和垃圾收集器
- spring 当中事物的隔离级别
- jdk1.8 concurrenthashmap 的新的特性,有没有看过源码
- threadlocal 了解吗
- 问了 redis 的一些问题,项目中有(扩容,失效 key 清理策略等)
- 剩下的都是项目的东西(kafka filebeat elk 原理,主从选举,复制等) 12,后面扩展的问了一些大数据相关的,问我一些大数据处理框架是否有了解
整个过程四十分钟左右
淘宝三面
- 主要项目,你做过哪些项目,用过哪些技术?了解哪些框架?你觉得对你技术提升最高的是 哪一件事情,提升了你哪一方面的技术?
- 讲一下 Spring AOP 和 IOC 的底层实现
- 说一下 hashcode 的作用?HashMap 的底层实现?HashMap 和 HashTable 的区别
- 说一下 concurrentHashMap 和 hashTable 在性能上的区别?以及这种差异形成的原因
- 讲一下堆以及堆排序
- 说一下 B+tree 和二叉搜索树的区别?说一下二叉搜索树和 AVL 树、红黑树之间的差别
- 给你两个文件(字符串形式的)如何找出他们之间的不同地方?
- 你刚刚说的能怎么优化?
淘宝四面 交叉面
本来以为三面结束就是 hr 面了,又收到一面交叉面
- 给你 50 亿行字符串,机器 4G 内存(只能一台机器),找出重复次数最多的那行字符串?(以行为单位,每行不超过 10 个字符)
- 设计一个算法,实现两个 10g 大文件在 10m 的内存中将两个大文件中重复的放进第三个 文件
- 快速排序的平均复杂多少?最坏情况是什么?(这个题估计就是缓和一下尴尬的气氛)