联想嵌入式软件面经

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

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

相关推荐

面试时长:约三十分钟面试时间:2025年9月下旬面试方式:手机小程序面试问题:1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;首先请做个简单的自我介绍,说说你的姓名、年龄、学校专业项目、实习经验、自我评价等,谢谢2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应聘这个岗位的原因。3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请简述材料力学中应力与应变的概念4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请详细说明在人际工程学中如何评价和选择合适的作业姿势。5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在考虑作业姿势时,如何平衡工作效率和员工健康之间的关系6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在进行结构件的刚度计算时,刚度的计算公式是什么?在进行结构件的刚度计算时,能否给出刚度计算的基本公式并解释其中各个变量的含义7.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;磷化和氧化处理有什么共同点?8.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在大学学习期间,你做过哪些敢为人先的尝试?跟我分享下你是怎么想到并行动的?最后让团队或项目有了哪些新的突破9.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;你接到一个任务时,通常会怎么安排时间节奏来确保又好又快的完成?结合你近两年印象最深的一次经历,具体说说你是怎么规划的,最后是否按时交付了高质量的成果。请问最后这个项目的完成是否得到了具体认可或评价10.&nbsp;&nbsp;&nbsp;在团队发生意见冲突时,你是怎么照顾到每个人的感受和需求的?能否结合近两年的一个例子分享下你是如何处理团队冲突,既完成了任务,又保持了团队关系的?能否分享一下这个项目的具体成果?比如是否得到了导师或客户的认可,或者有没有获得什么奖项?11.&nbsp;&nbsp;&nbsp;在近两年的工作或学习中,你参与过成果最好的长期项目或课题是哪一个?能跟我聊聊过程中你是如何保持动力和信心的,以及最后的结果如何吗?能具体分享一下在这个项目中你负责的部分是什么,以及最终这个项目取得了哪些具体的成绩。在这个过程中你遇到了哪些具体的挑战?你是如何解决这些问题并保持你的动力和信心的?很奇怪的面试,明明是嵌入式岗位,却问结构、化学这些知识,很怪。
查看11道真题和解析
点赞 评论 收藏
分享
评论
21
158
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务