联想嵌入式软件面经
Q:英文自我介绍
A:balabala
Q:C++11如何实现多态?多态的几种类型,虚基类是什么概念?
A:虚函数实现多态。
Q:C语言中malloc函数
A:这块主要说了malloc的底层实现什么的,回答的不完全
Q:glibc的内存管理实现
A:没答上来
Q:C++常用容器?
A:vector,stack,queue
Q:vector有哪些增加的方式?
A:push_back() emplace_back() 就说了这两个
Q:vector增加元素是值拷贝还是指针拷贝?
A:值拷贝
Q:看代码1
//问最后的输出结果,*(p + 4) - *(p + 0)我第一次说16,最后说4,感觉就是16啊,为啥子? #include <stdio.h> int a[] = {1, 3, 5, 7, 9}; int *p[] = {a, a + 1, a + 2, a + 3, a + 4}; int main() { printf("%d %d %d\n", a[4], *(a + 2), *p[1]); // 9 5 3 printf("%d %d %d\n", **(p + 1) + a[2], *(p + 4) - *(p + 0), *(a + 3) % a[4]); // 8 4 7 printf("%d %d \n", *(p + 4), *(p + 0)); //4206640 4206624 不懂为啥减完成4了? return 0; }
Q:看代码2
#include <iostream> using namespace std; class A { public: A() { cout << "A::A()called.\n"; } virtual ~A() { cout << "A:~A()called.\n"; } }; class B : public A { public: B(int i) { cout << "B::B()called.\n"; buf = new char[i]; } virtual ~B() { delete[] buf; cout << "B:~B()called.\n"; } private: char *buf; }; void fun(A *a) { delete a; } int main() { A *a = new B(15); fun(a); return 0; } //程序输出: A::A()called. B::B()called. B:~B()called. A:~A()called.
Q:python中列表和元组的区别
Q:介绍tensorflow框架(项目中有提到)
A:说了计算图,比如操作和数据流等等
Q:做题
Q1://数据结构来实现链表 struct ListNode { int val; ListNode *next; ListNode(int x): val(x),next(NULL){} //构造函数 }; Q2://找到链表的倒数第N个节点 //快慢指针 //这里注意head节点不能为NULL(使用虚拟头结点) //要对n加一个限制条件,n的值必须在链表个数范围内 Q3://判断链表是否有环 //快慢指针 Q4://删除链表的倒数第N个节点 Q5://数据结构实现二叉树 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x): val(x),left(NULL),right(NULL){} //构造函数 }; Q6://二叉树的深度遍历 //前序,中序,后序 //面试直接写的宽度遍历。
Q:开始英文聊天,关于学校啥的,闲聊
Q:看程序的问题
void newMemory(char *p) { p = (char *)malloc(100); } void func(void) { char *str = NULL; newMemory(str); strcpy(str, "Memory test");//字符串复制函数 printf(str); }
Q:IIC通信协议中的ACK和NACK表示什么?
Q:SPI有几根线
Q:UART一般有几个信号
A:RX,TX。
Q:TCP的关闭连接过程
A:四次挥手,以及四次挥手的过程
Q:vim里替换一段字符串是怎么做的?
A:没打上来,说了自己经常用的几个vim命令
Q:linux中替换某个文件中的字符串
A:没打上来。。。
Q:linux查找某个字符串
Q:git问题:merge时候出现conflict怎么办?
总结:对自己的简历得很熟悉,同时掌握最基础的数据结构与算法,面试时候得听清楚面试官的问题,思考好了在回答,有几个问题没思考好就回答,说的很混乱,好在最后算是过了。这些问题对应的答案之后总结一下发出来。
#联想信息集散地##联想暑期##面经联想#本专栏主要是记录24届秋招过程中我的笔试以及面试过程,一方面是为了给自己作为一个记录总结学习,作为面试复盘的一个记录 ,另外一方面作为一个分享,让大家能够少走弯路,针对性复习。 后面会持续更新!!!有需要的可以持续跟进