高通一面
高通电话面
【 笔试部分】
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:请面试官做一个简短评价~
再就是介绍下二面时要的软件啥的~
【个人评价】有点紧张,没啥感觉,也不知道能不能过~