小米java开发,一面/二面面经
一面 50分钟
1.自我介绍
2.项目
3.谈谈你对Netty的理解
4.Bio,Nio (select,poll,epoll)
5.HashMap讲讲 1.7/1.8
6.说说java的锁
7.synchronized锁升级,对象在内存中存储结构
8.什么是CAS,会有什么问题,哪里用到了
9.现在有多个线程,每个线程执行一些数据,最后计算这些线程的数据(具体忘了) 说了countDownLatch,Future的get()
10.服务器接收一个请求一直未响应,你认为出现了什么问题(题目具体忘了) 说了cpu飚高,如何排查/可能会发生死锁,死锁的排查
11.JVM内存模型
12.对象分配在哪里 堆/栈(逃逸分析)
13.垃圾回收机制
14.有没有做过JVM调优
15.JVM的参数 Xmx,Xms等
16.内存泄漏是什么/内存泄漏已经发生,如何查看 Eclipse的一个工具/还有java的一些命令
17.怎么知道具体那块发生了内存泄漏 jmap
18.redis的特点,应用场景,如何实现分布式锁/为什么要有分布式锁 setnx px
反问环节
二面
1.自我介绍
2.写一下快排
3.给你一个有序数组,给一个target,如果target存在数组中返回对应下标.不存在则返回对应插入位置下标
计算机网络
4.udp和tcp
5.tcp三次握手
6.tcp如何保证可靠性
7.TCP传输过程中的seq是干什么的,udp有没有?
操作系统
8.进程和线程
9.一个进程中有线程A,线程B,A开辟了一个内存区域,B可以访问吗(好像是这)
10.进程之间的通信方式
11.从磁盘读取信息的过程 ?
#小米##面经##Java工程师##校招#
1.自我介绍
2.项目
3.谈谈你对Netty的理解
4.Bio,Nio (select,poll,epoll)
5.HashMap讲讲 1.7/1.8
6.说说java的锁
7.synchronized锁升级,对象在内存中存储结构
8.什么是CAS,会有什么问题,哪里用到了
9.现在有多个线程,每个线程执行一些数据,最后计算这些线程的数据(具体忘了) 说了countDownLatch,Future的get()
10.服务器接收一个请求一直未响应,你认为出现了什么问题(题目具体忘了) 说了cpu飚高,如何排查/可能会发生死锁,死锁的排查
11.JVM内存模型
12.对象分配在哪里 堆/栈(逃逸分析)
13.垃圾回收机制
14.有没有做过JVM调优
15.JVM的参数 Xmx,Xms等
16.内存泄漏是什么/内存泄漏已经发生,如何查看 Eclipse的一个工具/还有java的一些命令
17.怎么知道具体那块发生了内存泄漏 jmap
18.redis的特点,应用场景,如何实现分布式锁/为什么要有分布式锁 setnx px
反问环节
面试官很好,没有说全的地方还会给你补充,最后面试完聊了聊双方的经历啥的...
二面
1.自我介绍
2.写一下快排
3.给你一个有序数组,给一个target,如果target存在数组中返回对应下标.不存在则返回对应插入位置下标
计算机网络
4.udp和tcp
5.tcp三次握手
6.tcp如何保证可靠性
7.TCP传输过程中的seq是干什么的,udp有没有?
操作系统
8.进程和线程
9.一个进程中有线程A,线程B,A开辟了一个内存区域,B可以访问吗(好像是这)
10.进程之间的通信方式
11.从磁盘读取信息的过程 ?
12.什么是磁道,什么是扇区 .....
反问
操作系统后面那几个答得不是很好