嵌入式大厂面试题(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()

 

 

你可能感兴趣的:(大厂面试题,面试题,嵌入式,大厂题目,公司题,春招,秋招)