校招 CSIG / 后端-Java / 一面
[面试日期] 2024-03-13 [面试时长] 未知
[学校背景] 重庆邮电大学 | 双非 [学历背景] 未知
[发布人] 面试之星官方收录
1. 手撕算法:给你一个数组, 2 1 3 7 9 2,如果相邻两个数相加是10,那么两个数可以消掉。问最后还剩几个数?比如这个,3和7消掉,还剩2 1 9 2,1和9还可以再消一次,还剩2 2,最后答案就是2。(思路:栈。新元素和栈顶元素相加为10,就弹栈,否则进栈,输出栈的大小。)
2. 介绍水平分表过程、大表拆分的过程。
3. Redis有没有可能丢数据?怎么解决?
4. 你还有什么其他的方式来保证Redis的可靠性?(主从复制、哨兵、集群一通甩出来)
5. RabbitMQ如何保证消息不丢失?(没保证,再加强)
6. RabbitMQ如何做削峰填谷?
7. InnoDB中一个三层的B+树能存多少数据?
8. MySQL的索引怎么存储的?每个索引一个B+树,还是多个索引放一个B+树?
9. 每个叶子节点能存放多少条数据?(虽然没问,但是差点问到,mark一下,回去复习)
10. 叶子节点中存的是什么数据?
11. B+树的范围查找怎么做的?
12. 分库分表具体的分片策略是怎么做的?
13. 表存满了之后怎么扩表?
14. id是怎么生成的?(分布式自增主键)
15. 有没有其他的分布式id生成算法?(雪花),具体怎么实现的?(我不清楚,了解而已)
16. Redis保证incr命令原子性的原理是什么?(不清楚)
17. Redis数据的可靠性怎么保证?(持久化)
18. 介绍AOF持久化的过程?
19. AOF重写期间命令可能会写入两次,会造成什么影响?(忘记了)
20. 讲一下JVM的内存模型?
21. new一个对象存放在哪里?(运行时数据区),局部变量存在JVM哪里(不知道)
22. JVM垃圾回收机制?(没学到)
23. Linux系统的8080端口有多少个TCP连接,怎么看?(不知道)
24. 如何看Linux进程或CPU使用情况?(top)
25. Linux查看内存情况?(free -h)
26. 讲下TCP的TIME_WAIT(TCP最熟的地方忘记了,可惜)
27. ConcurrentHashMap底层是怎么实现的?
28. HashMap为什么不能保证线程安全?
29. 进程间通信的方式?
30. 共享内存的方式如何保证并发安全?(我的回答是加锁)
31. 这个锁具体怎么实现的?(比较抽象,我回答了如果是我,我会怎么设计)
AI 推荐面试题
No Data
