学堂 学堂 学堂公众号手机端

资深开发工程师面试题(通宵整理出的精华)

lewis 1年前 (2024-03-07) 阅读数 5 #技术

自我介绍、项目介绍、项目主要使用的技术栈?

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​​

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门