面试题:后端
后端工程师岗位相关的接口设计、服务端基础、并发、存储和稳定性面试准备。
Linux 进程、线程和协程分别由什么负责,如何选择?
进程提供地址空间和资源隔离,线程共享进程地址空间并由内核调度,协程通常由用户态运行时调度。选择取决于隔离、并发规模、阻塞行为和故障影响范围。
Linux后端中频题
Linux 用户态程序从启动到运行大致经历哪些阶段?
程序启动通常经历 exec 装载 ELF、建立地址空间、加载动态链接器和共享库、初始化运行时,最后进入语言或应用的入口函数。
Linux后端中频题
Linux 的虚拟内存、页表和缺页异常分别解决什么问题?
虚拟内存为每个进程提供独立地址空间,页表把虚拟页映射到物理页或文件,缺页异常在访问未映射页面时让内核补齐映射或报告错误。
Linux后端中频题
Linux RSS、VSZ、共享内存和 page cache 应怎样区分?
VSZ 是进程虚拟地址空间规模,RSS 是当前驻留在物理内存中的页面,二者都不能直接等同于进程独占内存;共享页和 page cache 需要单独分析。
Linux后端中频题
Linux 文件描述符是什么,为什么会耗尽?
文件描述符是进程访问文件、套接字、管道、设备等内核对象的整数句柄;连接泄漏、文件未关闭、监听和日志句柄增长都会导致耗尽。
Linux后端中频题
Linux 信号的作用是什么,SIGTERM 和 SIGKILL 有什么区别?
信号是内核或进程发送给目标进程的异步事件通知。SIGTERM 可以被捕获并用于优雅退出,SIGKILL 不能被捕获、阻塞或忽略,会直接终止进程。
Linux后端中频题
僵尸进程和孤儿进程分别是什么,如何处理?
子进程退出后父进程未 wait 会留下僵尸进程;父进程先退出的子进程会被重新托管,成为孤儿进程。两者的处理方式不同。
Linux后端中频题
Linux load average 变高说明了什么,为什么不能直接等同于 CPU 使用率?
load average 反映一段时间内处于可运行状态或不可中断睡眠状态的任务数量,可能由 CPU 竞争、磁盘 I/O 或其他内核等待引起。
Linux后端中频题
Linux 的 nice、优先级和实时调度有什么关系?
nice 主要影响普通调度类任务的动态优先级,实时调度策略有独立的优先级和约束;提高优先级不能解决锁、I/O 或下游容量问题。
Linux后端中频题
Linux epoll 的水平触发和边缘触发有什么区别?
水平触发在条件仍满足时持续通知,边缘触发主要在状态变化时通知;使用边缘触发时通常必须循环读写直到返回 EAGAIN。
Linux后端中频题