1. 自我介绍
这个环节每次面试基本都会遇到,是个加分项,注意扬长避短
2. Linux基本命令
ls、cd、pwd、chmod、move、cp、tar、ps、top等等
3. 进程比较卡,怎么定位查看分析进程的问题?
top命令可以实时查看进程的运行情况以及消耗的资源
pstack PID命令可以追踪程序运行的堆栈情况
GDB可以对程序进程调试
4. 进程和线程的区别?
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。
因为进程所需要的系统开销比较大,后来为了减少开销就引入了线程。线程的创建、切换等操作要比进程快的多。
同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
5. 用户态和内核态的区别及如何通信?
用户态和内核态是操作系统为了安全而设计的两种模式,用户态拥有基本的一些操作指令集,当需要执行特殊的操作的会切换到内核态。内核态拥有所有特权的操作执行集合,在这种模式下,可以访问内存的任意位置。
用户态切换内核态的三种情况
- 系统调用:比如linux中创建进程fork(),就需要进行切换
- 异常:发生了不可预知的情况,缺页等
- 外围设备中断
如何通信
- procfs(/proc)
- sysctl(/proc/sys)
- sysfs(/sys)
- netlink 套接口(socket)
6. 进程通信的方式?
- 共享空间
- 管道通信
- socket
- 信号量
- 消息

本文分享了腾讯互娱Web后端面试的主要内容,包括自我介绍、Linux基本命令、进程问题定位、进程与线程的区别、用户态与内核态、进程通信方式、MySQL与Redis对比、数据库选型考量、数据结构、红黑树以及网络模型和TCP连接的建立与关闭。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



