职位题库

服务端开发工程师面试题库

面向服务端开发工程师相关面试,围绕算法、系统设计、消息队列、数据结构、MySQL等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

47 道题目建议用时 141 分钟专项面试练习

全部题目 47 道题

37

请说明 Go 语言 map 的底层实现、哈希冲突解决方式以及并发安全性;哈希冲突下查找最坏复杂度是多少,如何优化?

考察候选人对 Go 运行时数据结构的理解深度以及并发安全设计能力。
38

请说明 TCP 与 UDP 的区别及各自应用层协议,并解释 DNS 的工作机制和常见记录类型。

考察候选人对传输层协议特性和 DNS 解析流程的系统性理解。
39

请做自我介绍并介绍一个你主导的项目,说明你的主要工作和贡献。

考察候选人能否在有限时间内结构化地介绍自己与项目,清晰区分个人职责、团队协作与可量化贡献,评估表达条理与项目真实性。
40

用C++写一段可能发生死锁的代码,解释死锁原因并给出修复方案。

考察对死锁四个必要条件、互斥锁头文件与作用域、线程粒度与进程粒度区别的理解,以及能否用固定加锁顺序或条件变量等方案实际修复死锁。
41

实现一个支持add、remove、poll的优先队列,并尽量降低时间复杂度。

考察能否从接口语义出发选择合适数据结构,用数组模拟二叉堆实现优先队列,并正确分析各操作时间复杂度及边界情况。
42

求二叉树的高度和非叶子节点数,要求非递归且在一次遍历中同时完成。

考察递归到迭代的转换能力,能否用队列层序遍历同时维护高度与非叶子节点计数,并清晰讲解思路与边界处理。
43

设计一个统计用户在线人数的系统,需同时支持实时在线人数查询和每日活跃报表,请说明你的方案与取舍。

考察候选人能否区分实时指标与离线报表两类需求,给出分层架构,并说明数据结构选型与精度、内存、延迟之间的权衡。
44

有千万级词条的词库,用户搜索时如何提示近似词条?请描述从输入到返回候选的完整链路。

考察候选人对搜索联想与容错搜索的整体设计能力,包括前缀召回、近似召回、精排和排序融合,以及对内存与延迟的权衡。
45

图书馆场景下搜索图书,如何实现模糊搜索并保证结果相关性?请结合图书字段特点说明。

考察候选人能否把通用搜索技术落到具体业务场景,考虑字段权重、中文分词、拼音与同义词扩展以及相关性排序。
46

请设计一个爬虫系统,说明整体架构、调度、抓取、反爬应对和容错机制。

考察候选人对分布式爬虫系统的模块划分能力,包括 URL 调度、抓取限流、反爬策略、存储选型和幂等容错。
47

爬虫系统中如何做去重?请分层说明 URL 去重、内容去重以及常见陷阱防护。

考察候选人能否把去重问题分层处理,理解 URL 规范化、布隆过滤器的误判特性、内容指纹以及爬虫陷阱防护。
返回面试题库