高通电话面

【 笔试部分】

4.19号做完笔试,题型包含三部分,单项选择(20个)、不定项选择(10个)和填空(10个)。

单项选择部分包含有

【 电话面试】

从C语言开始聊,让我准备好笔和纸。问了一堆的C/C++语言知识:

1、static关键字的特点、C/C++的内存划分结构,静态变量在哪存储?使用static的关键字有什么特点?答:

2、new和malloc变量的位置。答:讲了内存结构:栈堆静态和全局变量区、常量存储区、代码段,以及每个区域的特点~

2、unsigned char和char 变量的存储范围?答:0255 -128127

3、如何通过指针操作一次给结构体赋值,结构体中包含四个char变量或uchar变量?答,初始化列表,和有参构造函数

​ 追问:不能通过构造函数的方式,最后提示下是通过int指针赋值一个int大小的数值。

​ 追问:四个变量如何赋值1、2、3、4,答了0x01020304,

​ 追问:确定吗?只有这一种?又回答了Ox04030201,讲了大端和小端问题~

4、int*指针一次后值有什么变化?答:偏移四个字节。

5、结构体大小问题?一个结构体中有一个int和char,该结构体变量多大?答:结构体对齐因此是8个字节。

​ 追问:一定是8个字节吗?答不一定和编译器的最小对齐数有关。面试官说好像是通过设置啥字段来着进行优化/

6、两个数字交换值的方式,要求不能使用辅助变量。答:通过和的方式、异或操作

7、如何对一个数字进行取反操作?不能使用取反操作。答:可以通过异或1操作。

8、字符串拷贝如何设计函数?有哪些需要注意的?答:设计一个函数参数为原字符串子帧和长度的方式,可能会存在野地址的问题。

​ 追问:不考虑野地址的问题,还有什么问题?答可能会存在越界问题。

9、typedef和#define的区别?答主要特性和使用的方式

10、程序的编译过程?答:四个阶段:预处理、编译、汇编、链接(以及每个阶段要进行的操做)

11、重复包含同一个头文件会出现什么问题?答:重定义问题,解决方式是#program once和#ifdef

12、有哪些链接库?答:动态链接库和静态链接库,以及两者的区别。

13、加入一个文件需要一另外一个文件,如何让他去找到这个文件?答:需要包含该文件的位置引入方式。

面试官:”可以~“

14、宏定义求一个数组的大小?答:sizeof(arr)/sizeof(arr[0]);

LINUX部分

1、linux中有哪些文件?答:设备、管道、socket、等等

2、如何查看一个目录下的文件?答:ls -l命令。

​ 追问:“嗯?”确定吗?我:应该是ls-a吧~

3、如何在一个目录下创建一个文件夹包含嵌套的文件夹?例如文件夹一包含文件夹2,文件夹2包含文件夹3

我:我只知道mkdir的方式创建一个文件夹,创建多个不了解。。

面试官:“okok 没事具体用的时候都是查指令 我只想要知道你知道哪个命令就行”。

4、如何创建.c文件?答:通过touch命令,

​ 追问:只能通过这个吗?我:还以为使用vi .c直接创建

5、如何修改文件名称?答:通过mv命令

计网部分

1、socket的使用过程?答:基本的客户端和服务器使用socket的过程….

2、如何处理多个socket?答:采用线程池和创建容器保存每一个连接的循环处理。

3、TCP和UDP的区别?答:从主要的特性回答

4、TCP和UCP的创建过程?答:基本的过程balabala

5、TCP中流量控制的方法?答:滑动窗口,balabala….

算法与数据结构部分

1、快排和堆排序,回答了主要思路,及其实现过程。面试官对于我讲出建堆的过程要求以及为什么从n/2开始建堆。

2、栈和队列的特点?回答了主要特点、以及底层实现。

3、队列反转问题?回答了两种方式,创建dummy节点+头插法和递归的方法,面试官如何不定义dummy节点实现?我balabala…

4、如何求一个无序数组的中位数?答:常规思路排序在定位,还有通过堆排序找第n/2个数,,,这里讲的好像不对。

5、如何使用一个数组实现一个队列,如何判断队列是否为空?讲了基本的定义和入队和出队操作。

追问:如何判断队列中元素数量和是否为空 。答:”balabalabala“

项目部分

问的项目相关的,以为会问的很难,竟然是自己很熟悉的(内心狂喜),balabala….

讲到一半,面试官:“好了好了,我知道你对这个协议很熟悉了~”。

开放性问题

一个游戏分为两个阶段,输入和查询阶段。输入阶段:每次输入两个数字范围是0~254,例如(1,2)、(2、3)、(1、4)代表这些数字有联系。

查询阶段如何判断两个数字是否有联系?

答:这题我有两个思路:建立一个255*255的二维数组,每输入一对数字记录之间的联系,最后通过dfs的方式搜索即可。

思路二:解决这个问题的最好方法是并查集,但是我代码写不出…

面试官:“嗯 是个思路可以的~”。

最后,面试官:”我在确定一边,你愿意来我们部门?“

我:”嗯嗯 确定“。

反问环节

Q1:请介绍下目前项目中用到的协议,在实际产业界的情况,使用情况?

面试官:介绍了一个,另外一个说他不了解….

Q2:请面试官做一个简短评价~

再就是介绍下二面时要的软件啥的~

【个人评价】有点紧张,没啥感觉,也不知道能不能过~