联想嵌入式软件面经
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届秋招过程中我的笔试以及面试过程,一方面是为了给自己作为一个记录总结学习,作为面试复盘的一个记录 ,另外一方面作为一个分享,让大家能够少走弯路,针对性复习。 后面会持续更新!!!有需要的可以持续跟进
查看11道真题和解析