【C/C++】【面经】2022 寒武纪 面经;( 媒体软件方向 )(更新:一面;二面;)

本文详细探讨了操作系统中中断处理的相关知识,包括中断的类型、同步手段如锁和信号量,以及中断处理程序的注册和硬件交互。面试过程中,重点讨论了自旋锁在中断中的应用,用户态进入内核态的方式,以及如何验证逻辑和算法实现的正确性。同时,文章还涉及到了FPGA与ARM之间的中断通信和IIC协议的作用。
摘要由CSDN通过智能技术生成

一面

项目

项目问了蛮多,以下问题都是项目展开的问题;

基础

  • 中断 都用了哪些;
  • 多线程同步手段;互斥手段;(锁、)(信号量、条件变量)
  • 信号量、自旋锁简介;
  • 中断中应该用什么锁;(自旋锁;因为中断中不能睡眠、调度)
  • 用户态怎么进入内核态;怎么用内核的功能;(中断、系统调用、软件中断)
  • static;
  • volatile;
  • 预处理阶段都干嘛;(宏替换、头文件替换)
  • 可执行文件的段;bss段、讲解;(跟面试官battle 了不同编译器实现的不同)

总结

面试官比较好,会告诉我哪里不对

二面

项目

下面问题也是根据项目来展开的;

  • 逻辑、算法实现怎么验证的;
  • 都写过什么驱动;
  • 都怎么和硬件交互;
  • 中断怎么和硬件交互
  • 讲一下中断回调;
  • 中断处理程序是注册给谁的;(软件中断注册给软件内核、硬件中断注册给CPU?
  • 中断处理程序注册,需要什么参数;(中断号、函数地址、还有吗)
  • 怎么指定中断呢?;硬件中断怎么和中断处理程序搭配上的;(感觉问的是os 或者我们自己怎么将中断处理和中断绑定起来、中断号怎么和硬件中断绑定;(没答上来)
  • (应该是指定中断号与硬件中断的绑定,这个是硬件设计的时候就设计好的?)
  • (就像arm 的io 中断,中断号是绑定好的,启动代码中写死的)
  • FPGA端怎么中断到arm端的;(中断到arm下面的通信的控制器处)
  • IIC 做的什么;

基础

  • 信号量、互斥锁简介;(同步互斥)
  • 没获取锁,线程将干嘛;(被调度?阻塞)
  • 线程休眠,什么时候被唤醒;(同步机制、调度)
  • 自旋锁;自旋锁应用要注意什么;(注意不要一致持有占用cpu)

手撕

字符串逆序;没有约束条件;(那就随便写了)

总结

猛追中断处理的问题;没有回头看过有些忘了,被摁在地上打了 ;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值