2019年 CVTE嵌入式开发 秋招一面

 

(朋友去面试CVTE的问题回顾,也凉了,那时候我们都是刚刚开始接触嵌入式应用开发不久,甚至可以说是半路入门编程,所以被问到协议、接口、驱动,都被刷刷地没了,那时候开始明白,嵌入式软件和硬件都要通晓 !! 他的回答不是很好,这是他的一份笔记问答回顾,他的模模糊糊记忆,也是他的个人排版。排版我就不排了,有空我得自己做一份回答的答案,我对面试感到恐惧 )

 


 

CVTE技术一面

A:面试场景

面试时间:40分钟

面试地点:现在放映室等待,然后进会议室面试

面试人员:先是一个,中途又来一个(没讲过话,就在旁边操作电脑)。技术人员

面试方式:一对一

 

B:过程描述

先让我自我介绍:

让我介绍项目:大项目

++++问项目中java和c是怎么通信的。

    管道

++++多进程和多线程的区别。

    多进程是有独立资源的,进程间是不会影响的,线程是共用资源的,一个线程死了,就会导致整个进程死掉,但是线程的通信速度快。线程间使用公共变量时,需要使用同步机制。

++++进程间的通信有哪些?

    管道,消息队列,共享内存,信号,套接字

++++那你说一下你用了什么套接字?

    ???什么套接字,

++++就socket的,

    (我当时想,我socket里的参数没有用到套接字啊)我就把socket的三个参数都说了一次。

++++然后他还在问我用了什么套接字。

    我说TCP,UDP。

++++你知道进程锁吗?讲一下

    知道,就是我在执行的时候,你不可以执行。

++++那你知道死锁产生的原因吗?

    进程在抢夺资源。

++++知道通信中的大小端吗?

    知道,大端模式:高位存放在低地址。小端模式:地位存放在高地址。可以定义个int个int型的变量,然后用char型去存放,就可以知道是哪边先存放,就可以知道大端还是小端。

++++知道函数指针吗?

    知道,函数指针是一个指针,指向的是个函数,会去执行这个函数。

++++什么是原子操作?

    不知道

++++你是熟悉C/C++还有shell脚本是吧。

    是的

++++那我问你一些c的问题,从字节开始吧,int,char,long占多少个字节?

    int 4个 char 1个 long要看是多少位的机器,32位的4个字节,64位的8个字节。

++++知道存储吗?那你说说段?

    知道,最下面代码段,然后数据段,bss段然后堆和栈还有系统空间

++++那你知道栈和堆吗?说一下堆和栈?

    堆用来存储全局变量的,是在编译的时候就分配空间了,栈是先进后出,存储局部变量,在运行的时候动态分配,在函数结束的时候就释放内存。

++++那为什么要在栈里面分配,而不是堆里面分配?

    没答上来

++++知道static吗?讲一下。

    (按照学的答的,没问题)

++++讲一下内敛函数

    我说用的比较少,不记得了。

++++知道回调函数吗?

    我就说调用函数,然后做完,之后会反过来作用。

++++讲一下正则表达式。

    不知道。

    以上都是c语言的问题

 

这里是shell脚本:

++++你这里写着shell脚本我问问你。在文本中过滤字符串用什么?

    Grep

++++挂载用什么

    Mount

++++查看进程?

    ps aux

++++查看cpu工作情况呢

    不知道

然后C++

++++说一下c++的有什么特性

    封装性,继承和派生,多态。

++++解释一下多态。

    同一个函数,操作不同的对象,得到不一样的结论。

++++知道虚函数吗?讲一下。

    我讲的是如果没有用virtual,派生类去访问的时候,可能找不到他想要的那个成员函数,加了virtual就可以。

++++虚函数与纯虚函数的区别?

    没答出来

++++重载函数?

    重载就是同一个函数通过传参的不同,就会调用不同的函数。

++++还有还问了一个啥???英文,我连名字都没记住。。。

 

++++公有继承,保护继承,和私有继承后的关系。

我按照学的答的。

 

++++你比较熟哪些接口,比如说i2c。

    I2c,

++++那你说说I2c,用了哪些引脚?

    一个时钟线,一个数据线。

++++那你说说怎么操作的?

    我就大概说了一下发送八个位然后一个应答读和写,还有引脚电平拉高,拉低响应

++++然后他还没点头(之前感觉答对他都会点头)

    我就说只记得这些了。

++++他又问知道串口吗?

    我说uart,是异步的,可全双工。

++++你讲一下怎么用的?

    我就说要先要知道引脚,然后设置波特率,一收一发。。。具体的我都会看datesheet看着来操作的。

++++那你是怎么开发一个模块的。

    我说我会上谷歌,百度csdn先查一下资料,然后再对应datasheet去看引脚,再去做。

++++你知道中断吗?

    有中断信号时,CPU就会暂停当前进行的事,立即处理该事。

++++你知道软中断和硬中断吗?

    不太清楚,我觉得是硬中断是立马执行,软中断可能是需要一些条件成立才会去执行。

 

然后编程题

++++在A字符串里找到是否有B字符串,如果有则返回当前位置比如welcome to cvte  “cvte”返回的是11.

 

++++你有什么职业规划吗?

++++你怎么看待加班的?

++++今天技术一面就到这了,还有什么问题吗?

    问了两个问题。

 

总结:第一次面试比较紧张,没有好好总结好久回答问题,答的太快。

你可能感兴趣的:(笔试面试归档)