一共三面
1、第一次线上笔试:简单,考C语言和一点点算法
2、第二次5面:4个技术面+1个HR面。时间比较长,我从下午2点面试到晚上7点多,强度比较大,建议吃饱饭养足精神在去
3、第三次BOSS面。
面试的时候会让你把包什么的放入智能锁,然后会有HR带你去3楼的一个小房间,然后你就是被刷的NPC了。
HR面和BOSS面主要问你的兴趣爱好,家人关系,为什么不考研之类的,不总结了。因为博主主要关心技术,所以对技术问记得比较深,主要问了系统移植,Linux 络编程,驱动开发。因为问的比较多,我只记得我回答上了的,有一些没记住。答案自己整理,我就不贴了。
————-
(1)线程的同步互斥
(2)进程之间通信问题:管道,有名管道,信 ,消息队列,共享内存,信 量,套接字socket
(3)select函数有什么作用:send,read,accept函数都会导致阻塞,而Linux的select函数可以使我们在程序中同时监听多个文件描述符的读写状态,程序会停在select这里等待,直到被监视的文件描述符有某一个或者多个状态改变。select的机制中提供一fd_set的数据结果,实际上是一long类型的数组,每一个数组元素都能与一打开的文件描述符建立联系,当调用select时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select的进程哪一socket或文件可读。
(4)死锁,如何避免死锁:两个或者两个以上的进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,如果没有外力作用,它们都将无法推荐下去。此时称系统状态或者系统产生了死锁,这些永远在相互等待的进程称为死锁进程。
(5)信 量对应的函数:
(6)TCP的三次握手
(7)TCP和UDP的区别
(8)TCP的建立以及对应的函数
服务器:socket,bind,listen,accept,send,recv,closesocket….
客户端:socket,connect,recv,send
(9)UDP的建立以及对应的函数
服务器:socket,bind,recvfrom…
客户端:socket,sendto
(10)如何创建一个线程:pthread_create
(11)多线程怎么退出,是在创建的子进程内退出还是在主程序里面退出
(12) 络字节序:htons将主机的无符 短整形数转换成 络字节顺序
(13)TCP的 文格式
(14)PayLoad里面放了些什么
(15)什么叫流式传输,什么是 文传输
(16)UDP为什么是无链接的
(17)线程和进程的区别
(18)进程通信
(19)临界区是什么
(20)GDB调试
(21)Shell编程
(23)C语言的内存是如何排布的
(24)栈和堆的区别
(25)volatile
(26)sizeof和strcpy
(27)memcpy和strcpy的区别:
- 复制的内容不同:strcpy只能复制字符串,而memcpy可以复制任意内容,比如字符数组,整形,结构体,类等等
- 复制的方法不同:strcpy不需要指定长度,它遇到被复制字符的串结束符” ”才结束,所以容易溢出。memcpy则是根据其3个参数决定复制的长度
- 用途不同:通常复制字符串用strcpy,而需要复制其他类型数据一般用memcpy
(28)fwrite和write的区别
(29)strstr是干嘛的:strstr(str1, str2)函数用于判断字符串str1是否是str2的子串。
(30)指针
(31)结构体内存对齐
(32)结构体拷贝问题
(33)字符串常用操作函数
(34)栈里面放了什么东西
(35)冒泡排序法、字符串反转[现场写]
(36)判断链表有环、链表反转[现场写]
(37)静态链接和动态链接的区别
(38)大小端问题
(39) 络编程的一般流程
(40)中断模型
(41)设备模型
(42)proc文件系统
(43)gcc的编译选项
(44)makefile
(45)驱动想要被外部看到应该怎么样:export
(46)如何安装驱动程序
(47)RTSP的端口
(48)HI3518EV200支持的最大分辨率
(49)uboot是如何引导内核的
(50)uboot是怎么给内核传参的
(51)nfs服务器用来干嘛
(52)busybox
(53)如何调试程序
(54)快速排序【现场写】
(55)如何用UDP实现安全传输
(56)众多客户端,如何在服务端判断哪个客户端是否关闭,如果是光机,又是如何判断的
(57)typedef 和#define的区别
(58)“编译”前,计算机做了什么。“编译后”,计算机得到了什么
(59)struct和union的区别
(60)怎么引用数组元素,可以*p[i]吗/p>
(61)动态分配的内存,局部变量,静态变量分别存放在哪里
(62)linux中栈分配大小默认是多少
(63)什么是红黑树
(64)数据结构,二叉树
(65)TCP如何检测包错误
(66)线程资源要不要回收
(67)线程同步的作用
(68)UDP如何实现可靠性
(69)ip协议和icmp协议分别在哪一层
(70)linux的权限管理
(71)gcc命令
对了,每个技术面都回问你项目问题,记得把所有边边角角都记得清楚。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!