线程进程面试题

 

线程进程面试题

1、程序什么时候应该使用线程,什么时候单线程效率高

2、惊群现象

3、C++函数内静态变量初始化以及线程安全问题

4、C++线程安全单例类

5、多线程环境带有状态对象讨论

6、C++多线程加volatile错误认识

7、并行编程中多进程和多线程,什么情况下多进程能解决的多线程无法解决

8、如何证明一个数据结构线程安全

9、lock-free实现方式

10、锁实现方式

11、多线程编程, 使用无锁结构会不会比有锁结构更加快

12、linux线程是如何进行切换

13、Linux 开发,使用多线程还是用 IO 复用 select/epoll

14、异步,多线程和并行区别

15、Linux 下多线程和多进程程序的优缺点,各自适合什么样的业务场景

16、开发多线程的程序应该注意哪些问题

17、如何测试线程池的性能

18、死锁的原因和避免

19、如何理解互斥锁,条件锁,读写锁以及自旋锁

20、互斥锁,同步锁,临界区,互斥量,信号量,自旋锁之间联系是什么

21、pthread_cond_wait 为什么需要传递 mutex 参数

22、多线程网络编程中如何合理地选择线程数

23、malloc和free是线程安全的吗,在多线程开发时用这两个函数应该注意什么

24、僵尸进程和孤儿进程有什么区别、如何处理

25、Linux系统中 进程 、线程 、时间片的关系

26、在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是线程还是进程

27、内核级调度和用户级调度

28、Linux中进程具有父子层次结构,Windows中没有进程层次,这两种设计各有什么优劣

29、linux用户级进程跟内核线程(进程)有什么差别

30、为什么要区分用户态和内核态

31、从用户空间到内核空间有以下触发手段

32、进程的内存空间布局

33、进程间通信(IPC)方式

34、进程空间和内核空间对内存的管理不同

35、虚拟内存的作用

36、虚拟内存的实现

37、Linux的slab层

38、fork与vfork区别

39、exit()与_exit()区别

40、Linux是如何避免内存碎片的

41、共享内存的实现原理

42、银行家算法

43、linux中断响应机制

44、如何实现守护进程

45、32位系统一个进程最多有多少堆内存

46、线程安全和不安全的讨论

47、可重入函数与线程安全的区别与联系

48、双重检查锁定模式(DCLP)的风险

49、内存屏障详解

50、原子操作原理

51、Linux有内核级线程么

52、使用线程是如何防止出现大的波峰

53、操作系统中进程调度策略有哪几种

54、线程与进程的区别和联系 线程是否具有相同的堆栈 dll是否有独立的堆栈

55、读者-写者问题

56、哲学家进餐问题

57、进程状态的切换图

四、Linux操作面试题

1、与CPU、内存、磁盘相关的命令(top free df fdisk)

2、与网络相关的命令netstat , tcpdump等

3、sek,awk,grep三个强大的命名,分别用与格式化修改,统计,和正则查找

4、ipcs和ipcrm命令

5、查找当前目录以及字母下以.c结尾的文件,且文件中包含”hello world”的文件的路径

6、创建定时任务

7、gdb用法

8、linux的内存管理机制

9、/proc存在哪里

10、Linux状态分析: CPU(top)、内存(top和free,注意buffer和cache区别)、磁盘(fdisk和df)、IO(iostat)等

11、shell脚本

12、Linux目录结构

13、linux中断响应机制

14、linux文件系统结构和启动流程

15、防火墙iptables

16、轮询任务调度和抢占式任务调度的区别

17、查看进程ps ps aux

18、删除进程kill -9

19、查看进程树pstree

20、查看占用端口的进程netstat netstat -anp grep port

21、正则表达式grep printf awk

22、管线指令 ls -al /etc less

23、sort 进行排序

24、双向输出重定向

25、打包压缩

26、目录的 inode 与 block

27、实体链接与符号链接

28、文件系统的组成

29、文件与目录的基本操作

30、文件属性以及权限的修改

31、分区

32、内核模块的位置在哪里

33、SMTP, DNS, FTP, DHCP, SSH 和 squid 使用的默认端口号是哪些

34、Linux中不同的网络绑定模式有哪些

35、如何检查默认路由以及路由表

36、在Linux 中什么是平均负载

37、请描述Linux系统优化的12个步骤

38、描述Linux下软链接和硬链接的区别

39、描述Linux下文件删除的原理

40、给出正确的关机和重启服务器的命令

41、请简述修改/etc/sudoers配置文件的注意事项

42、若一台办公室内主机无法上网(打不开网站),请给出你的排查步骤

43、请简述Linux启动过程中几个重要配置文件的执行过程

44、请输出你知道的20 个LINUX 命令及作用

45、企业中Linux服务器系统分区标准是什么

46、某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤

47、某一天误操作,执行了rm-rf* ,会有哪些情况发生?请举例

48、一般可以使用什么软件远程linux服务器?通过什么上传文件和下载文件

49、Linux内核引导时,从哪个文件中读取要加载的文件系统

50、Linux文件系统中每个文件用 i节点 来标识

51、简述网络文件系统NFS,并说明其作用

52、简述DNS进行域名解析的过程

53、简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程

54、nfs 协议用于实现Unix(/linux)主机之间的文件系统共享

55、欲发送10个分组报文测试与主机abc.tuu.edu.cn的连通性,应使用的命令和参数

56、进程的运行有两种方式,即独立运行和使用父进程运行

57、vi编辑器具有两种工作模式命令模式和输入模式

58、vi的使用

59、内核分为进程管理系统内存管理系统I/O管理系统和文件管理系统等四个子系统

60、安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区和交换分区