小米 C/C++开发面试(2021/08/19)(70min+)
面试官先介绍了下部门情况,问我意愿。那么继续面试。
自我介绍
socket使用过程
访问
www.baidu.com
的过程内网地址和外网地址是怎么转换的。
网关是做什么用的,(我不太清楚,扯到
arp
协议上了)服务端处理客户端的请求是并行还是串行
http的keepalive和TC的keepalive
C处理程序的过程
使用define实现一个max函数
define和内联函数的区别
内存对齐
代码1例子,不长记性的题
struct a{ char a; int b; short c; }; 求sizeof(a),
- 代码二,说出下段代码的错误
char* get_buffer(int size) { char a[size]; return a; }
代码三,实现
int get_buffer(int size,void *src)
,即分配内存的函数代码四,解释下列输出时,指针过程
9.1
char* a = {1,2,3,4,5,6,7}; int* ptr = a; printf("%d",*ptr++);
9.2
char* a = {1,2,3,4,5,6,7}; int* ptr+=3; printf("%d",*ptr++);
9.3
char* a = {1,2,3,4,5,6,7}; short* ptr = a; printf("%d",*ptr++);
虚函数实现原理,子类如果也声明了虚函数,那么虚函数表应该是什么样
虚函数时被“初始化”为0的函数是什么函数(纯虚函数)
有的析构函数为什么设置为虚函数
什么情况下析构函数不需要设置为虚函数
多态介绍下,静态多态和动态多态
纯虚类的作用。
STL中的容器介绍下
红黑树了解吗,介绍下,他的应用有哪些
如果一个文件中统计关键字个数,应该使用那种数据结构。
进程上下文说一下
虚拟内存说一下
内存和物理存储映射关系由谁决定
进程在内存的分布大概为几块
进程间通信方式,简单介绍下,
有名管道如何使用
信号量如何在不同进程间通信的。
进程间同步的方式
进程和线程的区别
线程的资源由谁进行释放
你觉得你有什么优势
你为什么喜欢技术这个方向(大致这个意思,面试官说最后一个问题的时候,我已经不行了。。)
平时遇到问题怎么解决的
面完信心十足,
现在复盘完后心里拔凉拔凉的。
攒攒人品。许愿其他offer,
最后顺便推荐一下牛客的《C++岗位面试真题宝典》专刊 ,涵盖了C++八股文问题和答案,面试会考的基本都总结到了,解答也挺靠谱的。目前我正在学,感觉还是很不错的
全部评论
(4) 回帖