海康威视 Linux 开发一面面试题总结

一、操作系统与进程相关

  1. 进程与线程进程与线程的区别用户态和内核态切换进程上下文和中断上下文区别线程安全与临界区概念
  2. 进程调度Linux 调度策略(SCHED_OTHER、SCHED_FIFO、SCHED_RR)时间片和优先级调度阻塞和非阻塞 I/O 对调度的影响
  3. 同步与互斥信号量、互斥锁、读写锁的区别和使用场景原子操作和自旋锁如何避免死锁

二、内核与驱动相关

  1. 中断与底半部tasklet 和 workqueue 的区别如何减少中断延迟中断服务程序中能做什么,不能做什么
  2. 设备驱动字符设备和杂项设备的区别open、read、write、ioctl 用法内核如何处理驱动中的阻塞与非阻塞GPIO 驱动按键检测(单击、双击、长按)实现思路
  3. 内存管理kmalloc 与 vmalloc 区别内核态和用户态内存访问内存泄漏排查方法

三、网络编程与协议

  1. Socket 编程TCP 与 UDP 区别TIME_WAIT 状态的意义客户端连接异常处理方法
  2. 网络通信select、poll、epoll 的区别与应用场景非阻塞 I/O 与阻塞 I/O数据收发的线程安全处理

四、C语言与编程基础

  1. 指针与内存指针运算、数组与指针关系指针悬空、野指针问题及解决函数指针使用场景
  2. 结构体与位运算结构体对齐与填充位操作常见应用(标志位、寄存器操作)
  3. 字符串与内存函数memcpy、memmove 区别strlen 与 sizeof 区别自己实现简单的字符串拷贝或拼接函数

五、调试与工具

  1. GDB 调试断点、条件断点、单步调试查看内存、寄存器、堆栈远程调试 ARM/Linux 嵌入式系统
  2. 日志与分析内核日志与用户日志分析异步日志实现原理日志对性能的影响及优化

六、项目与实际问题

  1. 项目深挖简历上的 Linux 开发项目实现细节数据流、模块设计、同步方式遇到 bug 如何排查
  2. 实际场景题Linux 下实现异步定时器,整点触发多任务共享资源,如何保证线程安全Flash 擦写寿命优化策略

全网最全面的嵌入式八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

全部评论

相关推荐

211本科,一年半工作经验。面试体验:差。面试官迟到,麦克风都没调试好,而且比较讲究长幼尊卑。视频面试,让拿纸出来手写。面试题目:1. 写一个绝对值宏定义。答案你就手写个#define abs(x) (x>0)?(x):(-x)这种差不多。我是建议你多考虑边界和溢出,他交流的时候挺没耐心的。我面试的时候只想赶紧挂了算了,张嘴一问问题我就觉得他不是来面试的。2. 在纸上手写一个字符串复制函数strcpy()。他之后会评价你的耗时、时间复杂度、空间复杂度、代码风格,尽量命名标准一点。多考虑边界问题,多考虑尺寸问题,毕竟是手写而不是键盘打,3分钟之内完成不了他就有点想给你上压力了。3. 你怎么看待交流能力问题?莫名其妙的问题,从技术直接跳过来。4. 手机是充电重还是不充电重?我回答这个看你用的是不是理想中的绝对精准的秤,若你的秤能做到测量引力波级别的等效质量变化,那么因为E=mc^2充电完的电池会因为锂电池的物理化学结构更具有电动势能,等效出的重量会更高,从而产生更重的读数。5. 彩虹为什么是拱形的?我回答彩虹实际上是球形的,只不过彩虹是可见光带是光谱中的一段,看起来就是个环状带。经过地面截取,才会是看起来是拱形。他说听不懂。6. 一根手指能不能遮住你眼里的太阳?我说这个看你说的遮住包不包含遮住紫外线,以及接触阴影效应。他跟我扯了半天跟我说这里要讲波长大于手指半径就能绕射到眼睛里。7. 红光波长是多少?我没背,我说根据穿透力反推吧。这个我不了解,只能胡说了。8. 飞机的移速是多少?我说民航飞机在空天分界线以下顶多飞到一马赫吧,撑死就两马赫了。其他的空天飞船或者战斗机有可能到五马赫,但是高空空气稀薄所以顶多就1000m/s了。面试结果就是没过,一小时内出的,我要价12k。面试过程中还提问我会不会喝酒,酒量多少,抽不抽烟。面试官一边面试一边抽烟,比较不礼貌,而且一直把手机屏幕放在下巴底下用鼻孔对人,偶尔开视频,开了就抽烟。
Mars811:一个敢问,一个敢答😂这问的都是啥问题,根本不想招人吧
查看8道真题和解析
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务