- 今年3月份离开了工作两年的公司,跳出了安逸的舒适圈,去接受新的事物变化,可想而来的是各种各样的面试题轰炸,发现自己如此不堪一击,只能默默记录下,再战五百回合。
笔试题
- 求一个在10000 - 99999 之间的随机数;
- 用宏表示两个数据的交换;
- 有符号和无符号数
代码语言:javascript
复制unsigned int a = 6;
int b = -20;
printf("(a b) = %dn",(a b));
代码语言:javascript
复制char *const p
char const *p
const char *p
代码语言:javascript
复制int main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(&a 1);
printf("%d %dn",*(a 1),*(ptr-1));
}
- 栈相关问题,具体题目记得不是很清楚,类似一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是
- static的作用;
- 编译程序的几个步骤;
- 写一条C语言语句使程序跑飞;
- 宏定义实现一年多少秒;
- 进程间的通讯方式;
- 双声道,48KHZ的采样频率,16 bit 的PCM编码,则存储一秒钟信号数据量有多大?
- 实现冒泡排序;
- OSI 七层模型描述,TCP属于哪层,TCP与UDP的区别;
- 正确理解如下代码;
代码语言:javascript
复制int square(volatile int *ptr)
{
return *ptr * *ptr;
}
- linux shell脚本,每隔2秒把系统时间记录到同一个文件中,记录10次后脚本退出;
- 实现简单C动态库,并给C测试程序调用,用一个Makefile完成动态库以及测试程序的编译;
- 某二叉树有5个度为2的结点,以及3个度为1的结点,则该二叉树中共有__结点;
- strlen求长度问题 ;
- i 与 i 问题;
- 指针
代码语言:javascript
复制int m = 1, n = 2;
*p = &m, *q = &n,*r;
r = p; p = q; q = r;
printf("%d %d %dn",m,n,*p,*q);
- 函数传值与指针传递的区别,分别适应什么场合;
- 多分支跳转有哪几种, if() else if() 和 switch( ) 的区别? 应用场合?
专业笔试题
- 描绘IIC时序图
- 内核空间和用户空间的通讯方式;
- 用几个关键结构体描述设备驱动模型;
- 线程和进程的通讯方式;
- 线程和进程的区别;
- 驱动层和应用层是如何通讯;
面试问题
- 描述IIC协议;
- 驱动框架;
- 编写Makefile ;
- 收音驱动的音频传输;
- git 很多commit,如何快速找到有问题的commit;
- LCD显示屏的显示接口、显示方式;
- NorFlash 为什么要有id号;
- framebuffer有开发;
- 驱动子模块是用的input子系统;
HR相关问题