baidu嵌入式软件工程师基础技术一面 试题

时间:2021-06-10 19:52:56

1

#define MAX(a,b) ((a)>(b)?(a):(b))

宏要完整有个括号

2

动态分配内存在堆里

局部变量分配在栈里

static变量在全局数据区分配内存

3

volatile类型变量 防止不被编译器优化,驻留在内存中,一般将硬件对应的寄存器 映射成 volatile

4

手写一个快排,我其实能写出来的,我自学的第一个算法就是快排,还有博客呢,呜呜,但是面对着电脑。离面试官那么近,好压抑.

基本思想就是递归,以一个元素为pivot,第一轮以后所有小于pivot的在一侧,所有大于pivot的在另外一侧,

然后在递归quicksort(a,left,i-1)

quicksort(a,i+1,right)

这件事情告诉我一个道理:要勇敢点,不要太自卑,也不要那么仰慕别人失去自我。

5 一个长l的杆,上面有N只蚂蚁,相遇就掉头,直到从杆上掉下去,速度为v,最后一只 蚂蚁掉下去的时间。

回来想了一想,其实很简单,蚂蚁掉不掉头无所谓了,可以想象成是同一只蚂蚁,所以最长时间和最短时间取决于刚开始蚂蚁的位置,

所用时间的最大值就是离竿一侧最远的那只蚂蚁爬过来的时间。所有蚂蚁都爬向离自己比较远的那一端,然后找出最大的。


所用时间的最小值就是所有蚂蚁都尽可能的朝着离自己最近的出口走,想象成电影院里着火了,你肯定是想赶紧出去,那么这个值就取决于离电影院出口最小距离里的最大值了。

说多了都是泪。Byebye,baidu!