Technical Interview Assessment

type
Post
status
Published
date
Mar 5, 2026
slug
interview-assessment
summary
tags
category
Other
icon
password
Place
  1. 充分利用面评系统,做好面试记录,实时同步面试记录,前一个人问过的问题,如自我介绍,上家公司为什么离职,等问题,不要重复问。要记录的内容:你问的主要问题是什么,面试者是如何回答的,你面试时关注的点在哪里,建议下一轮面试时关注的问题。
  1. 面试多长时间就要用多长时间去准备。看对方简历,准备问题
  1. 面试开始时进行一般问候并做自我介绍。
  1. 问题的设置要根据候选人的背景适当调整,尽量看在他擅长的领域做到了什么程度,而不是按一成不变的条框去套用。如果候选者不熟悉某个领域,及时跳过,不必深究。

项目经验(40)(20min-30min)

 
得分点
评分标准
总分
评价核心
项目背景和人员构成(项目本身的复杂度和公司的关联性,是否为核心项目?)
主动提出+1。主动补充人员构成+1。 1. 无项目经验,或者说很零碎。或者说介绍背景不清晰 2. 项目比较小,承担的职责较少 3. 中等项目的核心人员或者大型模块的复杂人,有一定项目分解能力和设计能力 4. 大型项目负责人,项目必须是成功的,有有全程把握需求、设计、编码、测试、发布的经验
6
项目架构(目标,结果可以包含在里面)
主动介绍+1,能够清晰画图+3 问后仍有疑问,得0分 需要问才说,但答案能接受,得2分 主动提到,但还需要补充问,得4分 主动说,不用问能听明白,得6分
10
不省略,有耐心,深度询问:架构图要画出来(控制流、数据流),工程的细节,遇到了什么坑,怎么解决的;
技术难点或业务难点(这里我们可以从技术选型来讲,或者说单纯难的技术点,技术难点又是怎么解决的?)
问后仍有疑问,得0分 需要问才说,但答案能接受,得1分 主动提到,但还需要补充问,得2分 主动说,不用问能听明白,得4分
8
对选取是否有思考。或者能否讲清楚技术难点在哪
做完项目的效果(可观测的点)
问后仍有疑问,得0分需要问才说,但答案能接受,得2分主动提到,但还需要补充问,得3分主动说,不用问能听明白,得8分
10
有数据,用数据说话
自己的收获,(是否对项目有深度的总结和个人优化,学到了什么,对后续的项目有什么指导作用?是否做了总结分享?)
问后仍有疑问,得0分 需要问才说,但答案能接受,得2分 主动提到,但还需要补充问,得4分 主动说,不用问能听明白,得8分
8

技术基础(八股)(20,10min)

计算机网络(5)和操作系统(5)和数据库(5)必考,其他的可选(5)。这里对应的时间短分数高。基础要牢固。
模块分类
具体考点及面试问题
MySQL
1. 事务隔离的不同等级是什么? 2. 什么是最左匹配原则? 3. MySQL底层是什么结构,为什么使用B+树? 4. 编写SQL:使用 grouplimit 与子查询结果对 id 去重。
Redis
1. 常用数据类型(String、Hset、Zset)及过期时间设置。 2. Hset、Zset 一般怎样进行删除操作?
Git
1. Git的常规用法,遇到冲突怎么解决? 2. 怎样将代码强制还原到某一个历史版本上? 3. 怎样将代码还原到某一个历史版本上,同时保留当前的修改?
操作系统 (计算、内存、 I/O、存储)
【计算与并发调度】 1. 进程和线程的区别?对Linux而言线程共享哪些上下文? 2. 了解协程吗?用户态与系统态的区别? 3. 软中断与硬中断的区别? 4. CPU load average 怎么理解? 5. 操作系统是如何实现多任务调度的?进程切换时会发生什么? 6. 线程同步技术(信号、互斥量、临界区、事件、spinlock等)。 7. 什么是 ThreadLocal,解决什么问题?为什么不常用? 8. 常见的线程模型(M:1,1:1,M:N)设计思路与适用场景。 【内存管理】 1. Linux 中 Cache 和 Buffer 的概念与区别? 2. Linux 怎么进行寻址、内存管理和索引? 3. 进程的内存分布是怎样的? 4. 什么是缓冲区溢出?有什么危害和原因? 【I/O 模型与存储】 1. 怎么理解阻塞/非阻塞 I/O,同步/异步 I/O? 2. 多路复用:Epoll / select / poll 的区别? 3. Epoll 的 ET 和 LT/HT 模式?API有哪些?手写简单Demo。
计算机网络
1. TCP/IP模型分为哪四层及其职责?从网卡到上层应用的步骤? 2. TCP三次握手与四次挥手过程(及状态机)。 3. 浏览器访问全流程(从前端到后端都发生了什么)。 4. 对称加密与非对称加密?HTTPS 属于哪种? 5. TCP滑动窗口怎么理解(举例说明)?TCP发 RST 包的场景? 6. Sync包丢弃的原因怎么看,怎么分析出原因? 7. 常见TCP连接状态码(ETIMEOUT, ECONNREFUSED, ENETUNREACH)。
语言与分布式
1. Java基础:JVM 垃圾回收机制。 2. 大数据:了解 Hadoop,Spark,HDFS 吗?(以及 MapReduce 论文)。 3. 架构:什么是分布式系统?简单讲解 CAP 原理。
排查与调试
1. GDB:一般调试步骤?多线程调度干扰?栈信息缺失? 2. 性能 (strace/ltrace/pstack/gperf):数据结构性能上不去,怎么追查优化? 3. 网络 (tcpdump/traceroute):常见网络问题(如Sync包丢了)追查步骤?traceroute 原理? 4. 内存 (valgrind/asan):内存泄露问题怎么调试?多线程内存排查?

数据结构和算法(20)(20-30min)

依据
对应的分数
仅懂皮毛,有一些概念
4
对一般的数据结构和算法能够理解和基本写出(如链表,字符串,排序等)。
8
对数据结构和算法有比较全面的理解;能对常见问题进行编程,写出非最差的数据结构和算法,并给出时间和空间复杂度。
12
在引导下,逐步优化,给出次优算法或最优算法。对边界和异常处理完整
18
有深入理解,能快速准确给出最优算法。对问题的不同形式,能灵活变通数据结构和算法。
20
考题
考点大类
考核题目及具体要求
难度 / 标签
多线程与并发
1. 写一个死锁出来
【简单】
2. AutoLock(scoped_lock)实现
【简单】
基础数据结构
1. LRUCache实现;追问实际用途(ex. dentry cache)
【中等】/ [数据结构]
2. 请设计一个栈,要求能提供max操作函数,且算法复杂度为 $O(1)$。
【中等】
3. 双栈模拟队列。
【简单】
4. Serialize and Deserialize BST 追问空间复杂度优化
[数据结构]
二分与分治
1. 二分查找:给定三组数,三组数各取一个,问是否满足=X的情况;
控制在10-20min
2. 二分查找:$8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y$,x在0到100,求x的值;
参考INF面试题集
3. Find Minimum in Rotated Sorted Array 要求 $\log(n)$ 复杂度
[分治]
4. Kth Largest Element in an Array 追问复杂度分析
[分治]
5. 两个长度为N的数组A,B,已分别按升序排列,求第N和N+1个数。
【简单】
动态规划 (DP)
1. 背包问题。背包的容量为V,物品大小为w[i],价值v[i],求最大的价值容量。
【简单】
2. Unique Paths (如果秒了,追问II)
[DP]
3. 有一个N(N>2)阶台阶,上台阶时有两种上法,一步一阶和一步两阶;问对于N阶台阶,一共有多少种走法?如果在上台阶时,有且仅有一次下台阶,即退了一次,这次退一阶,问一共有多少种走法?
【中等】
树、图与搜索
1. Validate Binary Search Tree
[DFS]
2. Binary Tree Right Side View
[BFS]
3. floyd,N个人,M组数(数的距离为1),求任意两数之间的举例是否小于3
4. 一个一定能够在有限步内结束的状态机需要满足什么条件?
[图论]
数组与滑动窗口
1. 类似下面的n*n矩阵从左到右,从上到下都是有序的, 要求在矩阵找到一个数是否存在,并且给出算法复杂度。 1 3 4 5 3 5 7 8 5 6 10 11 16 18 20 21
【简单】
2. 一串珠子,有5种颜色组成,找一个包含了5种颜色的珠子且长度最短的串?
【简单】
数学与位运算
1. 进制转换,输入十进制数,转换成N进制数
【简单】
2. 有一个随机数发生器,以概率P产生0,概率(1-P)产生1,请问能否利用这个随机数发生器,构造出新的发生器,以1/2的概率产生0和1?
【简单】
3. 不用* /运算符实现无符号整数乘法/除法的功能
[位运算]
4. 大数相加
【算法生】
海量数据
1. 判断数字是否存在在集合内,40亿不重复数,快速判断几个数是否在内
【简单】
非递归遍历二叉树

通用能力(10)

逻辑(5分,在考察项目后立刻打分)

认知逻辑和推理逻辑。
  1. 推理逻辑考察其思维推导
  1. 认知逻辑考察面对信息时的总结排除归纳等
标准:
依据
对应的分数
面对复杂情况时无所适从,不知道该从何下手来解决。缺乏基本的分析技巧,思维混乱。
0-2
将问题简单地分解成一系列的任务或活动;从纷杂的、零散的事物中提取有用信息,简单归类
3
认识简单直接的因果关系、内在联系;认识到任务的轻重缓急,并据此进行工作安排;借助学习到的理论知识和过去的经验,对眼前的问题进行整体分析和处理。
3.5
认识到一个事件背后可能存在的多种原因,一个行动可能引起的多种结果,或一个事件中各个部分的多重因果关系,并据此进行下一步的计划安排;将所学到的复杂概念及方法加以修改并灵活运用以适应具体情况。
4
对多种复杂的系统方案进行有效的分析和解释,并对风险、收益等进行判断;通过整理、归类、类比,将复杂的信息组合成有限的类别,并进行清晰有效的解释。
5

沟通(5分,在面试结束后打分)

沟通能力主要指通过不同的方式与他人进行有效沟通并对其施加影响,使其接受、支持自己的想法。
依据
对应的分数
采用单一、直接的方法,引用具体例子或数据等进行影响和说服;清晰地表达自己的想法,并确认对方获取到有关信息。
0-2
同时采用多种论据、信息去影响和说服他人;认真仔细地进行准备,有计划地采用多个步骤施加影响。
3
调整沟通的形式及内容,使之适合被影响对象的兴趣及水平;估计某个具体的行动或细节对自己在别人心目中形象的影响.
4
通过至少两个以上的步骤来施加影响,而且每个步骤都考虑到被影响对象的具体情况;运用自己对群体成员和群体运作机制的深刻了解,引导整个群体按照自己的想法来行动以实现特定目标。
5

评价标准

  1. 项目能力+逻辑能力(40+5)
  1. 基础知识能力(20)
  1. 代码能力(20)
  1. 沟通(5)
  1. 面试官个人印象(5)
通过:部门介绍+你有什么想问的么? 不通过:你有什么想问的么? + 后续会将面试结果进行反馈到团队中进行讨论
PS:如果你觉得不愿意跟他做同事,那么就不要通过,宁缺毋滥。
notion image
 
 
 
 
 
 
上一篇
MCP
下一篇
Computer Networks
Loading...