软件开发-后台开发方向 Java
时长:1h
部门:wxg 企业微信
1. 自我介绍
2. 手撕两道算法题
a. 旋转字符串
b. 删除链表中重复元素
3. Linux常用命令有哪些
4. awk命令有了解过嘛
5. 平时怎么查看日志
6. 有没有用过命令查看程序运行的栈信息
7. netstat命令怎么使用?用来干啥?
8. Linux网络抓包用什么命令来实现?
9. top命令用过嘛?如何查看僵死进程?
10. 进程,线程和协程有什么区别?
11. 进程和线程的区别在哪里?
12. 进程之间的通信方式有哪些?
13. 除了管道还有什么通信方式?
14. 前端发起请求之后到达后端,中间过程是什么?
15. 如果在网页中输入一个网址,会发生什么?涉及到什么协议?
16. UDP访问DNS的过程是怎么样的?
17. 为什么要三次握手?
18. 三次握手与四次挥手的区别是什么?为什么要多一次?
19. 四次挥手的过程中如果处在timewait状态的请求较多,会有什么结果?要怎么解决这个问题?你在项目中是怎么解决?
20. Redis的缓存击穿有了解过吗?
21. 如何解决缓存击穿问题?
22. 除了布隆过滤器还有什么解决办法?
23. 项目做的是单体项目还是Redis集群?集群有没有做压测?
24. Redis和MySQL的数据同步如何保证?
25. Redis和MySQL的区别是没是?有什么关联?
26. Redis的热查询有没有了解?怎么解决的?
27. MySQL的乐观锁和悲观锁是什么?
28. MySQL如何定位慢查询?
29. MySQL定位了慢查询之后,要怎么优化慢查询?
30. MySQL的底层数据结构有没有了解?怎么实现的?
31. 在项目中用过什么MySQL语句?
32. 反问
过程忘记录音了,全靠结束后的回忆,可能有所遗漏
基本上全是问八股,项目方面鲜有涉及
面试官还是挺好的,中间会给一点引导
但自己操作系统和Linux命令部分准备的不够充分,回答的稀烂
一个小时后挂了