4.30早上,hr微信告诉我通过了,让我放个开心假哈哈哈哈哈哈哈哈哈,意向书在五一结束后开始发,还愿成功!
感谢牛客提供的一堆面经,刚结束hr面来回馈牛客!!!
4.21开始一面,刚刚结束hr面,昨天hr面了10分钟然后她要去开会了说晚点再打给我(心态崩了都),许愿意向书!!!!
一面:(57分钟)
1. 自我介绍 2. 介绍项目,职责,项目功能,架构
3. 为什么用websocket不用其他
4. 怎么实现深拷贝?实现Cloneable接口,重写Object类的clone方法改成public,方法里面调用super.clone(),这样实现了浅拷贝,要实现所有成员变量也进行拷贝的深拷贝就需要调用成员变量的clone()方法;使用序列化和反序列化
5. JMM讲一下:规定所有变量存储在主内存,每条线程还有自己的工作内存,线程工作内存保存了被这个线程使用的变量的主存副本,线程对变量的读写都必须在工作内存中进行,不能直接读写主内存的数据,不同线程之间也无法访问对方工作内存的变量,线程间变量值的传递需要通过主内存来完成。
6. Happens before原则:
a. 程序次序规则:在一个线程内,按照控制流循序,写在前面的操作先行于后面的操作(循环、分支操作)
b. 管程锁定规则:unlock操作先行发生于后面(时间上的后面)对同一个锁的lock操作。
c. volatile变量规则:对一个volatile变量的写先行于读操作。
d. 线程启动规则:Thread对象的start()方法先行发生于此线程的每一个动作。
e. 线程终止规则:线程中所有操作都先行发生于对此线程的终止检测,join方法是否结束,isAlive方法返回值检测线程是否已经终止执行。
f. 线程中断规则:对线程interrupt方法调用先行发生于被中断线程的代码检测到中断事件的发生。可以通过interrupted方法检测是否有中断发生。
g. 对象终结规则:一个对象的初始化完成(构造函数执行结束)先行于他的finalize方法开始。
h. 传递性:如果操作A先行发生于操作B,操作B先行发生于操作C,那就可以得出操作A先行发生于操作C。
7. java有几种锁
8. 详细讲一下Synchronized。它公平吗?
9. ReentrantLock呢?怎么实现公平锁?
10. 那讲讲AQS。
11. 讲讲volatile。除了线程间变量可见性还有啥?
12. 乐观锁和悲观锁。什么时候用乐观锁,什么时候悲观锁?
13. 怎么实现线程安全?
14. 讲讲线程池的几个参数?
15. JVM用过什么命令?查GC怎么查
16. linux命令?查文件里出现的关键字次数怎么查?你用linux都做些什么?文件权限命令呢?
17. Mysql count(*),如果数据量很大但是又想用innodb查count(*),怎么做?
18. 进程间通信方式
19. socket拿来干嘛的?
20. TCP和UDP区别,TCP支持一对多吗(艹,支持啊!!!)
21. 拥塞控制讲一下,可以设置的参数有?
22. 流量控制讲一下
23. 做一道题:
//给定一个数组,求最大子数组和,以及起始、结束的下标
//{-2, 2, 4, -4, -1, 1, 6, -5}
//输入:一个数组; 输出:子数组和 int、两个下标;
24. 平时怎么学习?
25. Mysql8.0和5.6 7 8 有什么新增功能?
26. Http2.0有什么优化
27. RPC协议知道吗?
28. jdk用的几。知道现在最高是几吗?16了。害
29. 反问:
a. 正式员工工作时间:995,周末加不加班看项目急不急
b. 技术栈:阿里自研jdk、中间件、框架
c. 简单评价一下我:你不是很符合我们的要求。(听到后没压抑住啊了一声。。难受,不过可能因为用纸和笔写代码加了点分让我过了?)
二面(主管面):(60+分钟)
1. 自我介绍
2. 怎么学习的,从什么时候开始学java
3. 看了什么书?
4. 怎么看GC
5. YGC FGC
6. 什么时候FGC
7. linux怎么看gc呢
8. 用什么软件
9. linux怎么用这些软件
10. 项目堆内存大小设置多少
11. 怎么监控项目?
12. 怎么判断对象可回收?
13. 讲讲ArrayList和LinkedList
14. websocket连接过程
15. http连接过程
16. http连接的时候传输什么
17. 为什么用websocket
18. IO模式,你项目里都用了什么
19. 讲讲NIO。
20. IO主要消耗在哪些?NIO优化了哪些?
21. 怎么看sql执行多少秒之类的
22. mysql参数设置,自己都设置了什么
23. 你觉得Spring最主要的是什么
24. 讲讲IOC
25. 你项目里用了什么设计模式
26. 如果用多摄像头要怎么做,一个城市都让你监控,要怎么设计
27. 有没有看市面上的模型效果怎样
28. 你的算法能优化什么
29. 实验室经历给你带来了什么
30. 你在实验室的定位
31. 你跟前面几任负责人比有什么厉害之处?
32. 团队怎么管理
33. 是否启动一个项目如何做的决策
34. 项目如何迭代
35. 之后的学习规划
36. 反问:
a. 业务:做支付的
b. 学习氛围:分析、理解业务需求,理解原理。
c. 评价:注重实践、基础不错、准备充分,但是还需要学习:服务器、交互过程、运行时状态、k8s、监控服务
hr面:(30分钟)
1. 自我介绍
2. 最有成就的一件事
3. 现在在哪
4. 项目职责
5. 项目难点
6. 目前offer情况
7. 正在进行的项目情况 8. 优势劣势
9. 工作地点
10. 比较想从这次实习获得什么
11. 为什么不读研
12. 对客户端开发了解吗
13. 为什么很少人选择ios开发
14. 反问
全部评论
(4) 回帖