个人面经汇总(一)
攒了几个月的面经
,求个好offer
一些题目质量太差的就不发了。
阿里消息业务部门暑期实习凉经
- 自我介绍
- 线程池线程什么时候创建?满了怎么办?
- AQS?
- 数据库事务怎么实现?
- mysql默认隔离级别?什么是幻读?能防止幻读吗?
- mvcc?
- 数据库怎么实现乐观锁?version字段
- SELECT FOR UPDATE是什么?阻塞吗?效率怎么样?
- 类的加载过程?
- syconized的jvm原理?
- 设计模式了解几种?jdk中有哪些设计模式?装饰?
- 设计一个算法,求无序数组中topn的数?快速排序的时间复杂度?
- 进程和线程
- notify和notifyAll,notifyAll的缺点?
- sleep和wait的区别,wait的线程怎么唤醒
- 线程是怎么切换的
- 怎么理解同步和异步,为什么异步性能更高
- select、epoll了解吗
- 为什么要用线程池
- tcp和udp的区别?
- tcp为什么要三次握手四次挥手?
- tcp的流量控制、拥塞控制怎么实现?
- 索引是什么?为什么要用索引?
- 能否给每个列都建立索引?为什么?
- 说一下事务的隔离级别
- 说几种排序的时间复杂度、稳定性和最好最差情况
- 稳定性怎么理解?
- 描述一下满二叉树和完全二叉树
- 二叉树怎么存储
- 二叉树的广度优先搜索怎么实现
- 有哪些图算法,解决什么问题?最小生成树?
- 算法题,一个简单的一维动态规划
美团暑期实习二面
- 面向对象语言的三大特性
- 怎么理解多态性
- 常见的异常有哪些
- 异常和Error的区别?
- Error可以捕获吗?
- 引用和对象的区别?(https://www.huaweicloud.com/articles/c3e95c30398b0c5ac6f8f1cac828bcad.html)
- 引用存储在哪里?
- 引用可以脱离对象存在吗?
- 线程不安全是怎么回事
- 线程池怎么做到线程复用
- ThreadLocal是什么?怎么实现的?
- TCP关闭连接几次挥手?可以改为三次吗?(可以)
- 1-500每趟去掉奇数位最后剩下的数?
快手暑期实习一面
- 介绍一下实习项目
- 线程池的参数和原理(一直说到饱和策略)
- volatile
- JMM模型
- 锁(说了乐观锁、synchronized、AQS的大概原理)
- b+树的特点
- 垃圾回收算法,一直说到GC roots中包含哪些对象
- CMS回收器
- cpu负载(top命令),能不能定位线程(jvisualvm(自带)、jstack、jsp)
- 算法题:判断链表有没有环
- 编程题:3个线程依次输出1,2,3
- 说一说你在滴滴的项目,有什么收获
- 最新的feature,社区的issue有没有看过?
- 从软件、硬件来说组建一个计算机?
- 不同组件之间的交互怎么实现,南桥北桥知不知道?
- 多层存储介质里有哪些?
- HHD一次寻址大概多少时间?
- 面试官也很懵逼,就让我写上次没写完的题
- lock()后面为什么要用while