海康威视 嵌入式 应用 面经(SP已发起三方)

一面(9.15)

自我介绍

项目:

简述一下第一个方程式赛车的项目

balabala讲

用白板画一下你的几个任务以及分别是干嘛的

简单地画一下

介绍一下你在项目里面用的临界资源保护

用了临界区去保证收发的完整性,用的API是taskENTER_CRITICAL这个函数去将资源保护起来,但是其实可以使用信号量,只不过项目里面没有用到

说一下在你用的这个API函数,本质上用的是一个锁还是一个信号量

我说按照我的理解是锁,因为它的做法是将FreeRTOS能控制的中断全部屏蔽掉,是一种很粗暴的方式

简要说一下IIC,SPI,UART,CAN这四个通信协议的区别

分开同步与异步进行描述,每个通信协议大概讲一下,引导发问,是一个经典的八股

SPI在这个双机通信中被用到,是出于怎样的考虑使用SPI协议

我希望的是两块MCU互通有无,因为赛场上瞬息万变,实时性非常重要。别的通信方式速度都太慢了,SPI可以在这两块MCU上跑到42Mbit/s的速度,算下来传输一个字节大概3μs左右

你的SPI还用在了远程调试电机上面,里面是怎么做的

用的是PS2的手柄,那个手柄的协议被破解了,我觉得可以利用起来,就做了一个SPI转CAN,将控制信号从手柄发送到ECU

简述一下你开发的这个“专注模式”

专注模式就是可以在我如果只想远程上位机只显示一种传感器的数据时,下位机可以关停某些传感器的采集与发送甚至是暂停一些任务,由于LoRa的带宽有限,这样有助于技术人员以更高的帧率监测数据的变化。里面主要是用到了中断,任务的暂停等方式

在内核里面这个暂停任务是如何做到的

FreeRTOS有着一个暂停队列专门存放暂停的任务,当任务被暂停就放在里面,数据结构是一个链表。当要被唤醒的时候,会根据优先级找到对应的就绪队列,其是一个双向的环形链表,插入到末尾

那在任务运行的时候是怎么做的呢,当任务暂停了,系统又会有什么改变

当任务暂停之后就绪队列就没有它了,系统的调度器不会调度到这个任务,时间片轮转的总时间就会变少,当所有的任务被暂停之后,只有一个空闲任务在运行,这个任务是必须有的

你说的时间片是什么

在FreeRTOS里面,调度方式是优先级+时间片轮转,时间片轮转的时候每个相同优先级的任务会被分配到一样的时间,默认是1ms

那怎么去修改这个时间片呢

在config头文件中可以直接修改,时间片这个东西是基于systick来产生的

简单描述一下你所说的LoRa和4G配合LabView所做的实时监测,以及它的作用

从这个功能为什么要做讲起,一直讲到如何实现的,穿插一些技术指标,比如LoRa能传多少数据这些,然后说一下上位机的效果,然后说一下实际应用起来的效果,主要是个人SOLO

ok那这个项目我想了解的就差不多了,你这个机器人比赛里面用到的OpenCV你主要是用来做了什么工作

OpenCV在这个比赛里面我用得比较简单,主要是用于对摄像头采集的图像去做简单处理。例如在把图像放入YOLO7模型跑之前,会将图像进行一定比例的压缩,以提高模型运算速率等

明白。那这里面提到的用了两个线程去做调度,为什么要用到两个线程,他们的工作分别是什么

一个线程负责采集bash的命令,切换机械臂姿态和抓取;另一个线程负责运行YOLO算法,对采集的图像进行处理

那你的两个线程有没有做优化来提高cpu的使用效率呢

嗯……我认为用了多线程本身就可以提高cpu的使用效率了(然后又重复了一次上面的一些东西)

我想问一下多线程任务在CPU里面被处理的时候是如何并行运行的呢?

(警觉)我想您这里有一个文字游戏了,我们的多线程在运行的时候是并发执行而不是并行执行的,因为处理器的多线程原理其实是在很短的时间内进行线程的切换,宏观上看起来像是在一起执行任务一样

你的处理器还记得是什么平台的吗,多少个核

我印象中是赛扬J系列的一款CPU,x86架构的,具体多少个核我忘记了

那你有清楚CPU的核心的数量有什么作用吗,或者有大概的了解吗

我觉得CPU的核心可以理解为大脑吧,有几个核心就能理解为有几个大脑

所以你理解我刚刚的那个文字游戏的深层意义了吗,我的意思就是你有没有对此做一些相应的优化

(原来她在引导我,我哭死)我懂了,您的意思是我有没有将不同的线程和硬件之间合理地配合是吗,当时没有学习到那么深入,只是开了两个线程在同时跑,确实应该合理利用硬件资源

对所以下去之后可以再去研究一下这方面的。那和我说一下你这个公司的项目你主要做了什么

这个项目是一个雷达水位监测仪,我负责雷达的算法优化部分的工作,主要的背景是……(balabala介绍)

(这个地方主要是聊项目,没有深入提问)

ok,那这里还有一个比较简单的大创项目,你介绍一下这个1-Wire通信的机制吧

1-Wire是一种单总线协议,在这个项目里面用来做单片机与温度传感器的通信……(扩充讲一下)

八股:

1.OK我这边项目了解得差不多了,我们来聊一下一些基础知识,和我介绍一下函数指针与指针函数吧

2.有用过socket编程吗,和我简单讲一下

3.什么是TCP协议的三次握手

4.四次挥手的目的是什么

5.联合体,结构体

反问

一面一共持续大概40分钟,项目和八股都有涉及,很重点考察底层与开发基础,对操作系统的东西比较感兴趣

二面(9.22)

这个是HR面试,主要是HR了解一下个人情况,没有什么可说的地方,主要是根据他想听的回答就好了

涉及的点:

家乡

父母

家庭情况

城市意愿

上班强度意愿

在学校的一些经历和感受

二面如果面得多了其实可以听出来HR想问什么,照着回答就好了。可以参考宝洁八大问

假期结束的第一天收到了加面通知!

三面(10.10)

主管面试,主要是了解个人的情况以及问一些技术问题,问的技术问题偏多

面试官对我的方程式赛车的比赛项目很感兴趣,让我介绍了一下我们学校的车队以及我做的工作(其实我的理解是主要是想通过细节来考察我是不是真的做过,避免包装的情况,所以我会在面试的时候多些穿插我碰到的一些事情和人)

接下来就是一些开发上的问题,也是比较简单的,围绕项目展开,主题还是通信协议操作系统

反问:

为什么有三面

>-------------------------<

一天后面试流程结束,打勾

两天后变红字

第三天发的座谈会与offer,是sp价格。

加班换钱,这是可以接受了,准备去了

全部评论
所以为什么有三面?是sp加面吗
1 回复 分享
发布于 2023-10-23 00:09 上海
求问座谈会会开摄像头吗!!!!
点赞 回复 分享
发布于 2024-04-12 14:30 黑龙江
tql
点赞 回复 分享
发布于 2024-03-22 17:30 福建
大佬是bsp吗
点赞 回复 分享
发布于 2023-10-24 20:25 江苏
佬,开了多少啊
点赞 回复 分享
发布于 2023-10-23 23:22 安徽
大佬求帮忙!!!我现在手头上有个工资还行的offer,但是截止日期是25号逼签三方和两方,我明天海康座谈会,我想问一下海康座谈会和offer是同一天吗?我只有明天一天的时间了
点赞 回复 分享
发布于 2023-10-23 21:49 吉林
几号开的呀佬
点赞 回复 分享
发布于 2023-10-23 13:49 江苏
哥们base哪里的?
点赞 回复 分享
发布于 2023-10-23 11:10 广东

相关推荐

点赞 评论 收藏
分享
评论
17
98
分享

创作者周榜

更多
牛客网
牛客企业服务