第一个提前批——乐鑫,抱着试试的心态报了一个嵌入式软件岗位,本来是想报嵌入式硬件的,但是乐鑫的提前批没有,所以报了软件。
2021年6月10日收到笔试通知,当天晚上8点开始做笔试。
2021年6月16日收到HR加好友通知,过了两天HR微信告诉我笔试过了(当时都震惊了,笔试的时候出了各种情况),问我什么时候方便面试,我回了她之后到昨天6月21号回我说跟面试官才确认好时间,就约了今天下午两点半的面试。
2021年6月22日乐鑫提前批面试,提前了一个小时准备,很紧张,毕竟是第一次提前批面试,而且我软件不太会,下面是面试的一些问题。
1.首先是就自己的项目问了一些问题,这个没什么好说的,每个人有不同的项目,只要是自己做的就ok。
2.接下来开始问一些C语言的问题了:
(1)volatile的作用,答上来后问变量会被意想不到的改变,请问这个意向不到的改变是什么,举个例子;我说了状态存储器的情况,又问这个存储器是指CPU内部的还是外部的,我说内部的,他说是外部的,还跟我解释了一下;
(2)const修饰的是只读变量,然后给了我三种情况,问我是不是都是正确的,并且都代表什么
const int *p int const *p int *const p
这把我问蒙了,本来就不是学软件的,然后就瞎掰,不知道说的对不对。
(3)接下来给了我一道编程题,问我输出是什么
#include <stdio.h>
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int *p = &a[0];
int *q = &a[9];
printf("%d",q - p);
}
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int *p = &a[0];
int *q = &a[9];
printf("%d",q - p);
}
代码大概就是这样,下面还有一段数组内数据逆序的代码,这边就不写了,关键是q-p的值,考察的指针,学软件的应该很容易答上来,等于9;q-p代表的是地址p到地址q中间的类型数,这边是int型,那就是差9个int型数据。要注意地址一般是以字节算的,但是q-p并不是字节数,而是数据类型数。
3.C语言结束后还问你有没有学过C++,我说没有,面试官说嵌入式软件建议了解一下C++,语言就这样结束了,接下来的问题是真的一脸懵,不是学嵌入式软件的很痛苦。
(1)可执行文件了解多少,这个事先有复习到,然后问了.bss和.data分别存储什么数据,分别是未初始化的全局变量,一个是初始化的全局变量。然后又问什么是初始化,什么是未初始化,这个问题跟我们平常的变量初始化不太一样,我不会,面试官又是一顿指导,然而我还是不会。
(2)然后开始问操作系统,计算机组成,微机原理方面的知识,还有tcp协议,这我一个都不会,就很难受。
4.最后问我有没有什么想说的,我说了一些,又问了一些问题,最后就结束了。
面试将近一个半小时,我感觉如果是嵌入式软件方向的,问题应该都不是特别难。面试特别好,真的特别好,不停地引导我,最后还给了我嵌入式软件方面找工作的建议,我记了一点点。
要学一下计算机组成、操作系统的原理、计算机网路(通信分层)、数据结构与算法(链表查询、排序之类的),如果有嵌入式软件方向的小伙儿可以学一学。
对了,这个部门是做蓝牙通信的,感兴趣的可以投一投。
我只能凭记忆写这么多了,总体来说面试体验非常棒,就算问题不会,也不会很尴尬窘迫,主要是面试官人特别好。我觉得一面是没了,好多问题都没答上来,接下来继续努力啦,也祝各位能找个好工作!!!
全部评论
(12) 回帖