佰事达面试题
佰事达面试题
John Doe2. 网络编程的流程
服务器端流程:
- 创建套接字(socket)
- 绑定 IP 与端口(bind)
- 设置监听(listen)
- 等待客户端连接(accept)
- 数据收发(send/recv)
- 关闭连接(close)
客户端流程:
- 创建套接字
- 连接服务器(connect)
- 数据收发
- 关闭连接
3. 动态库与静态库的区别
- 动态库(.so):运行时加载,可执行文件小,更新库即可无需重编整个程序。
- 静态库(.a):编译时链接,可执行文件大,库变动需重新编译。
4. Linux 环境移植做了什么
将 Linux 内核等关键文件进行压缩打包,复制到另一台设备,解压即可使用。
5. 简述 I²C,通信需要多少时钟周期
- I²C(Inter-Integrated Circuit,集成电路间通信):同步、半双工,两根线:SCL、SDA。
- 发送 1 字节需 9 个时钟周期(8 位数据 + 1 位 ACK)。
6. 示波器和万用表做了什么
- 示波器:观察波形、测量时序。
- 万用表:测量电压、电阻、通断性。
7. 怎么测试文件读取速度(流程)
- 获取起始时间与结束时间
- 统计读取到的总字节数
- 计算:总字节数 / (结束时间 - 起始时间)
8. 为什么来深圳工作
深圳机会多,发展快,离老家相对较近,有利于自身成长。
9. 接受加班吗
可以接受。平时也常敲代码到晚上,利用加班时间学习也不错。
10. 兴趣爱好
跑步、摄影、王者荣耀(水平一般,敲代码比玩游戏顺手)。
11. 想问的问题
入职后主要要解决的核心问题是什么?我可以先从哪些任务开始?
2. 你的优势是什么
项目都是自己独立完成,具备独立思考能力与快速学习能力。
5. 后续是否考公或考研
目前没有,想踏实在行业内发展,把技术打牢。
单链表只允许遍历一次,如何查找倒数第五个元素
使用双指针:快指针先走 5 步,再与慢指针同步移动,快指针到尾时,慢指针在倒数第 5 个元素。
判断公司自研互斥锁是否有效
通过加锁/不加锁对比数据一致性,或在多线程访问共享资源时观察是否出现数据竞争。
读文件如何知道读取时长
读取前后分别用 gettimeofday 获取时间戳,差值即为读取时间。
DAC/ADC 的原理
- ADC(Analog-to-Digital Converter,模数转换器):采样 → 量化 → 编码
- DAC(Digital-to-Analog Converter,数模转换器):常见实现有 R-2R 梯形电阻网络、权重电阻 DAC,将数字量转换为对应模拟电压。
如果你还需要我帮你继续更简化、精炼成面试速记版,可以告诉我。


