职位题库

后端开发工程师面试题库

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

120 道题目建议用时 360 分钟专项面试练习

全部题目 120 道题

49

请解释一下你熟悉的几个后端八股知识点

考察候选人对后端常见基础知识的掌握深度,包括但不限于数据库、缓存、网络、操作系统等,判断其是否具备扎实的计算机基础。
50

HashMap 在 JDK8 中做了哪些优化?put 方法在什么情况下使用 CAS,什么情况下走锁?

考察对 JDK8 HashMap 底层数据结构、扩容机制以及并发场景下 CAS 与 synchronized 使用条件的理解。
51

volatile 关键字的作用是什么?如果两个线程同时对 volatile 变量 a 执行 a++,a 可能的值有哪些?为什么?

考察 volatile 的可见性与有序性语义,以及复合操作非原子性导致并发问题的理解。
52

ConcurrentHashMap 的 size 方法是如何计算的?计算过程中会不会加锁?

考察对 ConcurrentHashMap 并发计数机制、size 方法实现及锁策略的理解。
53

MySQL 如何解决不可重复读和幻读?redo log、undo log 和 binlog 的作用分别是什么?

考察事务隔离级别实现原理以及三种日志在事务和复制中的作用。
54

数据库主从复制中,如果从库远远落后于主库,你会如何定位和排查?

考察对 MySQL 主从复制原理、延迟原因及排查手段的掌握。
55

请说明计算机操作系统中的进程调度算法,并比较其优缺点。

考察候选人对操作系统基础知识的掌握,特别是进程调度算法的理解。
56

请设计一个算法,模拟小车在长度为H的道路上行驶,初始位置p、初始方向d,经过n次行驶后,输出碰撞次数、最终位置和方向。要求时间复杂度O(n)。

考察候选人对边界条件、方向转换和线性模拟的掌握,以及能否处理特殊起始状态。
57

给定数组长度n、初始位置p、道路长度H、初始方向d,以及长度为n的测试数组,请编写代码实现上述模拟,并分析时间复杂度。

考察候选人的编码能力、边界处理能力和复杂度分析能力。
58

请解释在模拟小车行驶时,如何处理一次行驶中可能发生多次碰撞的情况?并分析如何保持O(n)时间复杂度。

考察候选人对复杂边界情况的分析能力和数学优化能力。
59

在AI Coding环节,你提到第一次得分8766,后面越改越低。请分析可能的原因,并给出改进策略。

考察候选人对AI辅助编程工具的理解、调试能力和迭代策略。
60

请设计一个算法,模拟汽车在长度为h的通道内往返运动,给定起点p、初始方向d和n个移动距离,统计碰撞次数、最终位置和最终方向。

考察候选人对边界碰撞问题的建模能力、大数处理以及模拟算法的实现细节。
返回面试题库