联想嵌入式软件面经

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

全部评论
恭喜大佬通过啊,大佬优秀
1
送花
回复
分享
发布于 2023-05-30 09:36 山西
strcpy那个代码什么问题啊
1
送花
回复
分享
发布于 2023-06-15 00:27 重庆
秋招专场
校招火热招聘中
官网直投
大佬入职以后能内推吗
点赞
送花
回复
分享
发布于 2023-05-30 09:54 江苏
*(p + 4) - *(p + 0) 为啥是4呢?
点赞
送花
回复
分享
发布于 2023-07-09 20:43 美国
可能指针减法需要将结果除以变量类型的大小,16/4 = 4?
点赞
送花
回复
分享
发布于 2023-07-17 02:52 江苏
等会,英文?你海外高校的?
点赞
送花
回复
分享
发布于 2023-09-23 20:24 北京

相关推荐

矽昌通信 无线软件开发 25w~31w
点赞 评论 收藏
转发
21 140 评论
分享
正在热议
# 牛客帮帮团来啦!有问必答 #
1147533次浏览 17113人参与
# 通信和硬件还有转码的必要吗 #
11091次浏览 101人参与
# 不去互联网可以去金融科技 #
19474次浏览 249人参与
# 和牛牛一起刷题打卡 #
18563次浏览 1621人参与
# 实习与准备秋招该如何平衡 #
202997次浏览 3621人参与
# 大厂无回复,继续等待还是奔赴小厂 #
4797次浏览 30人参与
# OPPO开奖 #
18874次浏览 264人参与
# 通信硬件薪资爆料 #
265450次浏览 2482人参与
# 国企是理工四大天坑的最好选择吗 #
2168次浏览 34人参与
# 互联网公司评价 #
97493次浏览 1277人参与
# 简历无回复,你会继续海投还是优化再投? #
25002次浏览 354人参与
# 0offer是寒冬太冷还是我太菜 #
454483次浏览 5121人参与
# 国企和大厂硬件兄弟怎么选? #
53802次浏览 1010人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14620次浏览 349人参与
# 硬件人的简历怎么写 #
82252次浏览 852人参与
# 面试被问第一学历差时该怎么回答 #
19363次浏览 213人参与
# 你见过最离谱的招聘要求是什么? #
27544次浏览 246人参与
# 学历对求职的影响 #
161078次浏览 1804人参与
# 你收到了团子的OC了吗 #
538220次浏览 6382人参与
# 你已经投递多少份简历了 #
343827次浏览 4960人参与
# 实习生应该准时下班吗 #
96849次浏览 722人参与
# 听劝,我这个简历该怎么改? #
63478次浏览 620人参与
牛客网
牛客企业服务