1、自我介绍、项目经历、看过哪些书(APUE、CSAPP、UNP)

2、HTTP应用层协议,TCP传输层协议、TCP三次握手、TIME_WAIT

3、Linux系统CPU利用率top

4、Linux常用命令:

    ls、cd、vi、touch、rm、mv、mkdir、tac、cat、netstat、网卡ifconfig

    (反省:cp、chmod、man、grep、wc、pwd)

5、八大排序?冒泡复杂度?快排不稳定?

6、链表反序 

    (反省:1-先问用递归还是非递归,2-先做判断是否为空,head==NULL || head->next==NULL)

7、信号,信号的处理方式,进程收到信号的状态

     (反省:信号通信是异步通信方式。进程一旦收到信号就会打断原来的程序执行流程来处理该信号。1-若进程处于就绪或阻塞状态,进程一旦得到CPU时间片,就首先处理信号;2-若进程处于挂起状态,接收信号将挂起进程,进程将首先处理信号。

          三种处理方式:默认处理、自定义函数处理、忽略处理)

8、服务器进程模型、线程模型的优缺点

9、shell脚本:查看文件?

    (反省:ls -l | grep "^-" | wc -l 其中grep "^-"普通文件,grep "^d"目录文件

         或者在shell中使用opendir函数打开目录,对目录中的每一项调用stat函数得出其文件名)

10、stack和queue的链表、数组实现

11、C++的STL:map查找效率、vector线性表

12、网络连接服务端:socket、bind、listen、accept

13、初始化为0的全局变量存储在 bss段、指针存储在栈段、指针数组和数组指针

14、堆向上、栈向下、栈空间上面

        (反省:堆和栈中间还有memory mapping segmentation内存映射段)

15、进程间通信方式?最快的是哪种


通话时长:47min


0、项目?

1、进程地址空间:.text、.data、.bss、堆段、栈段、程序参数和环境变量等

      Q:面试官追问 - 上面还有呢?

2、TCP/IP模型几层? 端口号位于哪一层?TCP和UDP可否监听同一个端口号?

3、shell脚本平时用得多吗?shell查看上一个程序的退出状态?

4、算法题:二维坐标共线点数 ?

5、C++虚拟机?

6、C语言中 # 和 ## 的区别?

     (不会。用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.)

6、后台开发程序员应具备哪些东西?开放题


通话时长:17min (应该是挂了。。。)

Logo

更多推荐