校招 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