乐鑫一面0721-嵌入式开发(蓝牙方向)
项目经历
1.介绍一下项目的技术指标和你主要负责的部分:
2.STM32中主要使用的模块:
3.ADS1299的数据传输细节
5.STM32如何实现多片ADS1299的扩展,内部采集到数据后的存储和传输过程:
6.上位机都有哪些功能,是怎么和STM32进行通信的,STM32里面是怎么处理上位机控制逻辑的
C++高并发服务器框架开发(25分钟)
1.介绍一下项目中的关键技术(协程,hook)
2.非对称协程调度模型是什么,和对称协程的区别是什么;协程调度的细节
3.有栈协程和无栈协程的区别--不会
4.Epoll模型介绍,与select/poll的对比
5.最小堆用什么实现的,如何实现最小堆的插入和删除功能
6.hook技术介绍,为什么要使用hook
比赛经历
我听你说你本科期间参加电赛,具有一定的嵌入式经验,能介绍一个有代表性的比赛吗,又问了比赛中STM32的使用细节,比赛的具体细节
专业技能(40分钟)
1.编译链接的过程
2.C语言struct内存对齐
3.#ifndef, #else, #endif
5.#define的使用,如果定义一个函数功能
6.给定一个struct,设计三个接口函数,第一个返回b的地址,第二个传入一个无符号32位整数,替换掉e,第三个函数穿传入一个字符替换c,并将其他位置全部置为0;
struct Node { char a; char b; char c; char d; int e; };
7.设计一个struct总长度为64bit, 里面下面这些变量(面试官说C语言位操作,但是俺不会)
0-3 bit a 4-11 bit b 12-31 bit c 32-63 bit d
8.Linux系统常见命令
9.进程的创建过程
10.进程中的写时拷贝
11.进程和线程的比较
12.CPU内核的调度
13.进程的调度,调度算法,完全公平调度(vruntime是怎么算的)、优先级设置、非抢占式和抢占式调度
14.操作系统硬中断和软中断
15.TCP/IP的三次握手和四次挥手
16.UART、IIC、SPI通信协议对比
编程题(20分钟)
设计一个struct数据结构,用它来实现链表,然后给定一个链表,给定left, right值将left和right区间内的节点翻转;leetcode中等题,链表排序2, 等你写完面试官会让你考虑一些极端情况,比如right的值大于链表长度;