秋招C开发部分面经(小米,普联,58)
下午要面试,想起之前有些面经写了没发,发出来攒攒人品
9.14 小米一面
*小米的面试官真的好好,抚慰了我春招直接简历被筛掉的受伤的心
首先一上来面试官先介绍了一下,说他是安卓开发部门的。随后让我自我介绍,我中间提到大一曾去小米调研,面试官来了兴趣,问我是去的哪个部门、什么方向什么的,我说我那个主题是“企业国际化”之路,主要和hr沟通的,没有去实际开发部门参观,面试官又问我当时对啥印象深刻/感兴趣,我提到了小米想做的那么一个类似智能家居,全覆盖的理念 ,这里感觉比较好。
然后开始问我简历上的两个项目,用的什么技术,遇到了啥问题;
知识点的提问是夹杂着来的,面试官说的挺详细清楚,而且很会引导(而且碰巧都是我会的)
1.先问知道linux吗,我说只是使用过,底层原理不知道,又问我进程线程知道吗(我想,这不是操作系统吗),然后开始问:
2.进程之间能共用资源吗?答:不能,进程是资源调度分配的基本单位。
3.线程之间呢?可以。
4.进程间怎么通信?答:信号量,消息队列;
5.一个进程间可以存在多个线程吗?可以。
6.如何保护互斥的资源不沦陷呢?答:信号量,锁机制。
7.你说到锁机制,那知道死锁吗?讲一下。
8.所有进程都能操作内核吗?不行,只有内核态进程(具体问题记不清了,大致)
然后开始问我另一个项目。
9.问完说,我看你简历上说知道TCP/UDP机制,他俩主要区别是啥?答:一个面向连接一个无连接。
10.谁不需要保证质量?答:UDP。(连TCP三次握手四次挥手都没问到,惊了)
然后问我最近做的项目是啥、遇到了啥问题。
11.然后又问,你会的是C语言,那static有什么作用,会带来什么影响、适用于什么场景知道吗?静态变量。
12.静态变量.存储在哪?堆。
13.它和非静态变量啥区别?比如函数退出后,他还存在吗?存在。(这里不得不说面试官太会引导了,讲的很详细了)
14然后问const:常量,不能被修改。
15.中断是什么?提一下你的理解。我说:比如用户态进程想获得外设的输入,就要中断,更换为内核态,获得后在恢复到原态。
最后问我,后面有什么学习规划。我说最近在看c++ prime那本书,还想复习下java,开发个网站或者安卓应用。(这里好像答的不是很满意,面试官说“c++也好,只是个工具。”
问我想做研发,但这个比较累,什么想法。
最后问我有什么想问的吗,我说想请面试官评价一下我,他说我知识掌握得很好,项目稍微弱点,建议我学习下内核和安卓方向,然后其他方面 ,学习态度啊工作热情啊什么的都很不错,然后可能看我喜不自禁(?),说这就是初面 后续可能还有别的 hr会安排的
ps:中间面试官多次问我以后想从事什么方向,还给了很诚恳的建议说我c语言应该好好学下linux
pps:中间面试官提了一句“你已经参加过面试了哈”,可能就是因为这个没让我手撕代码,最后结束的时候我都有点不敢相信。
ppps:这是之前写的面经,后来无后续,估计凉了
首先一上来面试官先介绍了一下,说他是安卓开发部门的。随后让我自我介绍,我中间提到大一曾去小米调研,面试官来了兴趣,问我是去的哪个部门、什么方向什么的,我说我那个主题是“企业国际化”之路,主要和hr沟通的,没有去实际开发部门参观,面试官又问我当时对啥印象深刻/感兴趣,我提到了小米想做的那么一个类似智能家居,全覆盖的理念 ,这里感觉比较好。
然后开始问我简历上的两个项目,用的什么技术,遇到了啥问题;
知识点的提问是夹杂着来的,面试官说的挺详细清楚,而且很会引导(而且碰巧都是我会的)
1.先问知道linux吗,我说只是使用过,底层原理不知道,又问我进程线程知道吗(我想,这不是操作系统吗),然后开始问:
2.进程之间能共用资源吗?答:不能,进程是资源调度分配的基本单位。
3.线程之间呢?可以。
4.进程间怎么通信?答:信号量,消息队列;
5.一个进程间可以存在多个线程吗?可以。
6.如何保护互斥的资源不沦陷呢?答:信号量,锁机制。
7.你说到锁机制,那知道死锁吗?讲一下。
8.所有进程都能操作内核吗?不行,只有内核态进程(具体问题记不清了,大致)
然后开始问我另一个项目。
9.问完说,我看你简历上说知道TCP/UDP机制,他俩主要区别是啥?答:一个面向连接一个无连接。
10.谁不需要保证质量?答:UDP。(连TCP三次握手四次挥手都没问到,惊了)
然后问我最近做的项目是啥、遇到了啥问题。
11.然后又问,你会的是C语言,那static有什么作用,会带来什么影响、适用于什么场景知道吗?静态变量。
12.静态变量.存储在哪?堆。
13.它和非静态变量啥区别?比如函数退出后,他还存在吗?存在。(这里不得不说面试官太会引导了,讲的很详细了)
14然后问const:常量,不能被修改。
15.中断是什么?提一下你的理解。我说:比如用户态进程想获得外设的输入,就要中断,更换为内核态,获得后在恢复到原态。
最后问我,后面有什么学习规划。我说最近在看c++ prime那本书,还想复习下java,开发个网站或者安卓应用。(这里好像答的不是很满意,面试官说“c++也好,只是个工具。”
问我想做研发,但这个比较累,什么想法。
最后问我有什么想问的吗,我说想请面试官评价一下我,他说我知识掌握得很好,项目稍微弱点,建议我学习下内核和安卓方向,然后其他方面 ,学习态度啊工作热情啊什么的都很不错,然后可能看我喜不自禁(?),说这就是初面 后续可能还有别的 hr会安排的
ps:中间面试官多次问我以后想从事什么方向,还给了很诚恳的建议说我c语言应该好好学下linux
pps:中间面试官提了一句“你已经参加过面试了哈”,可能就是因为这个没让我手撕代码,最后结束的时候我都有点不敢相信。
ppps:这是之前写的面经,后来无后续,估计凉了
10.10普联一面
开局自我介绍(万年不变)
1.进程的状态有哪些
2.(三个)进程状态间如何转换
3.如何被阻塞的?能否具体举例(等待外设I/O设备输入)
4.进程通信方式有哪些
5.你自己实现过哪些(答:只有信号量)
6.怎么实现的呢?(乱答,扯上了锁、互斥、同步)
7.同步、异步的概念
8.死锁的概念和条件(4个条件:非剥夺控制,互斥,循环等待,部分分配)
9.TCP/UDP区别
10.TCP如何实现可靠性
11.你的xx项目介绍一下
12.C语言的内存分配(没听懂,开始扯:系统分配栈内,自己动态分配堆内,静态变量在静态存储器)
13.栈和队列概念(不懂,说了特性,先进后出和先进先出)
14.如何用两个队列实现栈(我:?)
15.还有啥想问的吗(咋实现?入栈就正常入队,出栈时将前面元素先全部入另一个队列种,然后输出最后剩下那个元素)
16.又问了另一个项目的问题 数据库相关 主键如何设置
17.最后问我,拿过奖学金吗
(现在看看,人家其实问的挺基础的,我自己答的并不好,但还是后来约了二面,但二面答的也不好,问的比较具体的题目,但还是期待普联能给个hr面)
10.15 58同城一面 20分钟 (<平均值 面完2分钟官网直接显示挂了)
开局自我介绍(老规矩)
1.你用的C语言 它啥时候预编译?
2.两个‘#’啥意思
3.(看了下我的编程题 但我这里看不到)
4.你的xx项目用到编程了吗(草草介绍了一下,用的不多
5.那你项目哪个编程多 介绍一下
6.计网知识了解吗 tcp和udp区别?
7.对称加密和非对称加密(没学过)
8.http和https区别
9.算法知道吗?讲讲冒泡排序?
10.B树和B+树(没学过
11.红黑树知道吗(不知道
12.哪个项目用到数据库了?
13.用到查询语句了吗?(昂
14.sql优化做过吗(您能具体化吗)
比如考试之前大量用户查询数据库,但是卡了,咋办(建立索引)
反问:您刚才问那个数据库问题怎么解决?
用对应的工具分析呀,看是需要建立索引还是优化索引还是数据库存储就有问题,要分析,不能直接自己揣测
1.你用的C语言 它啥时候预编译?
2.两个‘#’啥意思
3.(看了下我的编程题 但我这里看不到)
4.你的xx项目用到编程了吗(草草介绍了一下,用的不多
5.那你项目哪个编程多 介绍一下
6.计网知识了解吗 tcp和udp区别?
7.对称加密和非对称加密(没学过)
8.http和https区别
9.算法知道吗?讲讲冒泡排序?
10.B树和B+树(没学过
11.红黑树知道吗(不知道
12.哪个项目用到数据库了?
13.用到查询语句了吗?(昂
14.sql优化做过吗(您能具体化吗)
比如考试之前大量用户查询数据库,但是卡了,咋办(建立索引)
反问:您刚才问那个数据库问题怎么解决?
用对应的工具分析呀,看是需要建立索引还是优化索引还是数据库存储就有问题,要分析,不能直接自己揣测
(面试官问的好多我都不知道,就是以为是不用掌握的知识,但其实很重要,包括最后问我的那个问题,其实面试官更想看你分析的过程,看你的思路,而不是最后的结果,所以虽然挂了,但收获还挺多的,只能说还要努力学!!)
最后,希望今天下午的面试有个好结果!!