面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
641 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

技术岗641 道 · 点击进入查看参考答案

简单操作系统
进程和线程的区别,何时使用多线程和多进程?
结论:进程是资源分配独立单位,线程是调度执行单位且共享进程内存;多进程适合强隔离与CPU密集,多线程适合高并发IO与数据共享。区别:地址空间(进程隔离,线程共享)、通信(进程IPC如管道,线程直接变量)、开销(进程创建切…
🎤 腾讯
简单操作系统
进程间的通讯方式
结论:进程间通信(IPC)主要有六种方式:管道、消息队列、共享内存、信号量、信号、套接字。 要点: - 管道:匿名管道(父子进程)和命名管道(无亲缘关系),半双工,基于文件系统; - 消息队列:内核中消息链表,可独立于进…
🎤 百度
简单操作系统
请简述进程和线程切换的区别?
结论:进程切换开销大,线程切换开销小。要点:1.进程拥有独立地址空间,切换需保存恢复PCB、切换页表及刷新TLB;2.线程隶属进程,共享地址空间,切换仅需保存线程上下文(寄存器、栈指针等),不切页表;3.进程隔离性强但调…
🎤 蚂蚁集团
简单操作系统
如何查看系统负载?
使用uptime、top、htop或cat /proc/loadavg查看系统负载。核心要点:uptime显示load average三个数值,分别代表1/5/15分钟平均负载;top实时展示包括负载的任务状态;/pro…
🎤 腾讯
简单操作系统
什么是孤儿进程和僵尸进程
结论:孤儿进程是父进程先退出,子进程被init(pid=1)收养继续运行;僵尸进程是子进程终止但父进程未wait()回收,残留PCB占资源。 核心要点:孤儿进程无害,由init回收;僵尸进程状态为Z,占进程号,大量会导致…
🎤 小红书
简单操作系统
什么是内存泄露?列举检测内存泄露的方案
结论:内存泄露指程序分配内存后失去引用且无法释放,导致可用内存逐渐减少。检测方案:1.静态分析工具(如Coverity)扫描代码未释放路径;2.动态检测:Linux下Valgrind、AddressSanitizer跟踪…
🎤 拼多多
简单操作系统
为什么协程更轻量?
结论:协程更轻量因用户态调度、栈小、切换成本低。要点:协程在用户态由程序调度,切换无需内核介入,避免系统调用与上下文切换开销;初始栈仅几KB(如Go 2KB动态扩),线程默认MB级;数量可达百万级而线程受资源限制数千;对…
🎤 腾讯
简单操作系统
为什么栈的分配速度比堆快?
结论:栈分配快因仅需移动栈指针,堆需复杂查找与维护。要点:1.栈内存随函数调用自动分配,栈顶指针递减即可,连续无锁;2.堆分配需搜索空闲链表、切分内存、处理碎片,可能调用系统brk/mmap;3.栈无碎片且缓存局部性好,…
🎤 拼多多
简单操作系统
线程共享的有什么?
结论:同一进程内的线程共享进程的大部分资源,仅私有少量执行上下文。共享部分:1. 地址空间(代码段、数据段、堆);2. 全局变量和静态变量;3. 打开的文件描述符;4. 信号处理方式;5. 当前工作目录等。不共享(线程私…
🎤 腾讯
简单操作系统
线程和进程的区别?
结论:进程是资源分配的基本单位,线程是CPU调度的基本单位,线程共享进程资源故开销更小。核心区别:1. 资源:进程拥有独立地址空间、文件等资源;线程共享所属进程资源;2. 调度:线程切换只需保存少量上下文,进程切换需切换…
🎤 腾讯
简单操作系统
线程间的通讯方式,多个服务,单服务
先给结论:单服务内线程通信靠共享内存+同步原语,多服务间需IPC或网络。核心要点:单服务(同进程)线程共享地址空间,可直接用全局变量或队列,但必须用互斥锁、条件变量、信号量避免竞态;示例:生产者-消费者用互斥锁保护队列,…
🎤 百度
简单操作系统
线程与协程的区别?
结论:线程由内核调度,协程由用户态调度,协程更轻量。要点:线程是OS调度单位,栈MB级,切换需内核保存上下文(寄存器、页表等),开销大;协程运行在线程上,栈KB级,切换仅保存少量状态,无系统调用;对比:线程阻塞引发内核切…
🎤 快手
简单操作系统
栈里面除了局部变量,函数参数 返回值,还有啥?
结论:栈帧除局部变量、参数、返回值外还有返回地址、保存寄存器、填充等。要点:call指令压返回地址;函数入口push ebp保存旧基址,设新ebp;callee-saved寄存器存栈;对齐填充满足16字节对齐;可能有异常…
🎤 腾讯
简单操作系统
Linux 的 `read` 和 `write`
结论:read/write是POSIX标准文件I/O系统调用,操作文件描述符。原理:#include <unistd.h>;read从fd读数据到buf,原型 ssize_t read(int fd, void *buf…
🎤 百度
简单操作系统
Linux 如何查看 CPU 核数?
直接结论:使用nproc查看逻辑CPU核数;lscpu查看详细拓扑;或读/proc/cpuinfo。展开:nproc调用sysconf返回在线逻辑核数;lscpu从sysfs采集显示socket、core、thread数…
🎤 腾讯
简单操作系统
Linux常见命令 ,搜索等
结论:文件操作ls/cd/cp;搜索find按名、grep按内容、awk列处理;管道组合命令。要点:find / -name '*.log'遍历目录树;grep -rn 'error' .递归匹配正则;ps aux | …
🎤 百度
简单操作系统
并发与并行的区别?
结论:并发是逻辑上同时处理多任务,并行是物理上同时执行。要点:并发指单核通过时间片轮转让多任务交替运行,宏观同时微观串行,侧重调度与资源复用;并行指多核同时运行多线程,真正同时计算,侧重加速;示例:单核多线程为并发,多核…
🎤 百度
简单操作系统
用户态与内核态的区别?特权指令与用户指令的区别?
结论:用户态与内核态是CPU两种特权级,核心区别在权限范围。要点:1.用户态受限,不能执行特权指令、直接访问硬件;内核态拥有最高权限,可操硬件、调度进程;2.切换方式:系统调用、中断、异常陷入内核;3.特权指令如清内存、…
🎤 虎牙
简单数据库
对 student 表的 name 建索引
结论:对student表name建索引可加速查询但增加维护成本。要点:1. 语法:CREATE INDEX idx_name ON student(name); 默认B+树;2. 优势:等值查询(WHERE name='…
🎤 腾讯
简单数据库
对性别创建索引为什么快不了
结论:对性别字段建索引通常无法加速查询,甚至可能因回表开销而变慢。核心要点:1. 基数低(区分度差),性别只有男/女等极少值,索引过滤性弱;2. B+树索引适合高基数字段,性别索引叶子节点挂载大量记录,优化器往往选择全表…
🎤 度小满
题目整理自公开面经,答案由校招宝自研生成,仅供参考