资深开发工程师面试题(通宵整理出的精华)
自我介绍、项目介绍、项目主要使用的技术栈?
01框架相关1.IOC 和 DI 的关系,AOP是怎么实现的?
2.项目中如何实现限流和降级?
02开源项目1.讲一下 ElasticSearch 的工作原理?
2.讲一下 Kafka 的工作原理?
3.什么是分布式事务?
4.RabbitMQ 的工作原理?如何避免消息积压、消息重复?
5.Redis 的数据类型有哪些?这些数据类型的底层是如何实现的?
6.跳表是如何决定上一层节点的?如果让你来设计的话你会怎么设计?
7.Redis 的大 key 有什么问题?Redis 查询百万博主的所有关注人怎么处理?
8.Redis 持久化,Redis 对 AOF 文件有哪些优化?
03数据库1.关于 MySQL 的索引,你知道哪些?
2.MySQL 事务有哪些特性?底层都是怎么实现的?
3.B+Tree 与 B-Tree、红黑树、AVL树、Hash的比较?
4.简单介绍一下 MySQL 的日志以及主从复制?怎么提高数据库的查找速度?
04计算机网络1.TCP 四次挥手中 CLOSE-WAIT、TIME-WAIT 分别都发生在什么时候?作用是什么?
2.TCP 和 UDP 流量控制算法是怎么实现的?
3.HashMap 的底层实现原理是什么?是线程安全的吗?怎么实现线程安全?
4.Nginx 线上连接数配置是如何配置的?来了一个请求 Nginx 的 master 和 worker 谁去处理?
05算法题1.现在有两个集合A、B,每个集合都有超大量的 URL,其中每个 URL 一行,怎么用最快的速度求它们的交集?假如现在只有 2G 内存,但是每个集合有 100 亿条数据,该怎么去查找它们的交集?
2.我现在有超大量的 IP 地址,其中的IP有的是有效的,有的是无效的,设计一个数据结构,包含 insert、del、randomGet 这三个操作,其中 randomGet 操作就是获取一个有效的 IP 地址。要求尽可能高效,并且 randomGet 需要是真正随机的。
3.25匹马,5条赛道,一匹马一个赛道,比赛只能得到5匹马之间的快慢程度,而不是速度,求前三名至少要比赛多少场,具体方案?
4.给定一个只包括 '(',')','{','}','[',']' 的字符串,判断括号是否有效?
5.数组连续最大和?
6.循环100次,依次输出线程ABC名和序号?
7.数组[1,3,2,5,7],之和为target的所有组合
8.两个链表,求是否相交?
9.求一个字符串中,出现次数最多的10个字符?
06HR 面1.你在进行技术学习的时候会使用什么的方式呢?
2.HR:你的离职原因是什么?你现在的薪资是多少?你的目标薪资是多少?
3.HR:你工作过程中遇到的最大的困难是什么?你是怎么评价自己的?
4.HR:你对于未来的工作机会看法是怎样的?投了哪些公司,有几个走完流程的?
5.反问:你有什么想问我的嘛?我简单地给你介绍一下我们这边的情况。
GIT 项目推荐:包含多端免授权可商用
附件地址:https://gitee.com/ZhongBangKeJi
版权声明
本文仅代表作者观点,不代表博信信息网立场。