当前位置: 首页 > news >正文

嵌入式大厂面试题(1)—— CVTE

从本篇开始将会更新历年来各个公司的面试题与面经,题目来自于网上各个平台以及博主自己遇到的,如果大家有所帮助,帮忙点点赞和关注吧!

 

岗位:嵌入式软件工程师。
面试时间:20分钟。
面试
1 、简历中写了做过海思音视频项目,所以问了海思项目是怎么学的?(考察自学能力)。
2 、问:学海思项目,是因为兴趣,还是为了毕设?
回答:是因为兴趣,因为自己毕设是51单片机。
问:如果一个Linux和51单片机进行通讯,让我怎么设计通讯协议,然后问我怎么进行检验。
回答:可以设计串口,加奇偶校验,并且检查数据包的总字节数。
问:如果字节总个数是对的,但是有些位错了,那应该怎么去检查?
(不该说自己的毕设是51单片机的,因为自己本身不了解51单片机,所以这一块答得一般)后来面试官知道我对51单片机没怎么学过,是春招后才准备现学现用的,就没有继续问下去了。
3 、二叉树学过吗?
回答:学过,但是后面没怎么用,几乎忘光了,比较熟悉和常用的是链表。
4 、如何判断一个链表有环?
回答:快慢指针
5 、线程和进程的区别?
6 、线程和进程间的通讯方式有哪些?
7 、访问临界资源时应该怎么办?
8 、线程和进程的 API ,知道哪些?
回答:我把API名字和API的参数是什么都说了,面试官就没继续往下问了
9 、工作的意向地点
10 、对于加班的看法(据说 CVTE 加班很猛,另外两个是多益和三七)(广州)
11 、有没有转管理层的意向?
12 、有什么问题想问的?
回答:如果有幸入职贵公司,请问是否会有一些培训制度?
总结:除了一开始的那个怎么设计单片机和Linux通信协议没答好,其他的问题答得还可以,HR小哥哥挺有耐心挺温柔的,也会在面试时一步步引导。 从面试过程可以看出,很多公司,面试官一般都是根据你的简历和你的回答,来决定下一个问题。所以千万不要自己给自己挖坑,简历写的东西,必须要会,自己回答的东西,自己必须要会。所以面试官比较随和的情况下,可以通过自己的回答,把面试官引导到全是自己熟悉的领域。
博主回答:
上面的内容是别人的面经和回答记录!博主再做一下补充:第5和6题查看博主历史文章,操作系统篇已经总结过了!
第7题:
  1. 禁止中断:在访问临界资源之前,应禁止中断。这可以确保在访问期间不会发生中断,从而防止其他任务或中断处理程序干扰对临界资源的访问。

  2. 获取锁:使用同步机制(如互斥锁或信号量)获取对临界资源的独占访问权。如果资源已被其他任务锁定,则当前任务将等待直到资源可用。

  3. 访问临界资源:一旦获得对临界资源的访问权限,可以对其进行读取、写入或执行其他必要的操作。

  4. 释放锁:完成对临界资源的访问后,应释放锁,以便其他任务可以获取对资源的访问权限。

  5. 允许中断:在释放锁之后,可以重新允许中断,以便系统可以响应其他事件或中断请求。

第8题:

  1. 进程创建和管理:

    • fork():创建一个新的子进程,子进程是父进程的副本。
    • exec():用来执行另一个程序。
    • wait()waitpid():等待子进程结束或指定的子进程结束。
    • exit():用于终止调用进程。
  2. 线程创建和管理:

    • pthread_create():创建一个新的线程。
    • pthread_join():等待指定的线程结束。
    • pthread_exit():终止调用线程。
  3. 进程间通信:

    • 管道(pipes):pipe()pipe2()
    • 消息队列(message queues):mq_open()mq_send()mq_receive()
    • 共享内存(shared memory):shmget()shmat()shmdt()
    • 信号量(semaphores):sem_open()sem_wait()sem_post()
  4. 线程间同步与通信:

    • 互斥锁(mutex):pthread_mutex_init()pthread_mutex_lock()pthread_mutex_unlock()
    • 条件变量(condition variables):pthread_cond_init()pthread_cond_wait()pthread_cond_signal()

 

 

相关文章:

  • 【测试运维】性能测试经验文档总结第3篇:VuGen详解(已分享,附代码)
  • java面试微服务篇
  • 21种matlab信号分解方法汇总
  • 【Mysql】数据库架构学习合集
  • 探索设计模式的魅力:掌握命令模式-解锁软件设计的‘遥控器’
  • 黑客利用F5 BIG-IP漏洞传播Linux挖矿病毒
  • Python如何实现定时发送qq消息
  • 挑战杯 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv
  • Java六种常用线程创建执行方法
  • controller-manager学习三部曲之三:deployment的controller启动分析
  • 使用Cargo创建、编译与运行Rust项目
  • Java多线程系列——锁
  • DNS服务正反解析
  • cool Node后端 中实现中间件的书写
  • WordPress主题YIA移动端文章页的面包屑不显示怎么办?
  • 【Leetcode】101. 对称二叉树
  • avalon2.2的VM生成过程
  • iOS 系统授权开发
  • JS基础之数据类型、对象、原型、原型链、继承
  • PHP 的 SAPI 是个什么东西
  • Spring Boot MyBatis配置多种数据库
  • spring-boot List转Page
  • 来,膜拜下android roadmap,强大的执行力
  • 实习面试笔记
  • 思考 CSS 架构
  • 详解移动APP与web APP的区别
  • 一些关于Rust在2019年的思考
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​configparser --- 配置文件解析器​
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (11)MSP430F5529 定时器B
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (一)基于IDEA的JAVA基础1
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .Net Core和.Net Standard直观理解
  • .Net Web窗口页属性
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .skip() 和 .only() 的使用
  • @Bean有哪些属性
  • @GlobalLock注解作用与原理解析
  • @html.ActionLink的几种参数格式
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @synthesize和@dynamic分别有什么作用?
  • [C#] 我的log4net使用手册
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [Everyday Mathematics]20150130
  • [exgcd] Jzoj P1158 荒岛野人
  • [HackMyVM]靶场Boxing
  • [LeetCode] 93. Restore IP Addresses 复原IP地址