阿里面试总结,岗位:阿里云网络产品研发实习生。岗位要求:BOSS直聘截图。
大公司面试注重基础,小公司面试注重项目和实战。
面试
上来先几分钟自我介绍,然后问你做过的一个项目的流程,你做了什么?技术面会问你他在简历中没看懂的地方,会给你讲解面试不上来的题目。问完项目以后问基础。
面试中问到的问题
1、Linux系统方面
1)进程和线程的区别(不能太书面化)(需要从内存角度,或者其他角度描述)
需要用自己理解的方式去回答这个问题,如果你回答了xxx是基本单位,这样子是不行的。技术面试会追问你,需要你用自己的话去理解进程和线程。线程和进程是否是独立的?线程和进程的之间内存空间是否是共享的?进程和进程之间是否是共享的?
2)线程之间是如何调度的
比如说有两个线程:线程A和线程B,线程B要先于线程A运行,或者是线程B运行了多次之后在启动线程A,如何进行调度?
3)非实时操作系统和实时操作系统的区别和选择,以及应用场景。
2、C语言方面
1)static的作用,函数中变量使用static的作用,它的生命周期会如何。
2)extern的作用
3)c语言中有哪些宏定义?
4)#define和#typedef这两个的区别
5)代码编译的四个过程,预处理的阶段做了哪些事情(深入问条件编译里面做了哪些事情)四个过程都生成哪些文件?
3、数据结构
1)何为数据结构?
2)问了队列、栈、链表的概念和特征,队列和栈在项目中的应用场景。什么情况下用栈,什么情况下用队列和链表。
4、网络的概念
总结:
1、简历中有的项目,一定要会,不会的东西不写,写上去的东西保证自己每个细节都懂,也就是确实是自己做的项目,不是捏造的项目。
2、大厂面试注重基础,因为大公司会培养你,只要你基础扎实就行,所以基础很重要,整个面试一个多小时,大部分时间在linux系统、编程能力、数据结构、计算机网络基本概念上。
3、大厂面试喜欢问你对于某个常见的东西自己的理解,因为书上的名词大家都会说,但是你自己理解的肯定是不一样的。比如富士康的一个面试官问过:你认为OSI七层网络模型和生活中给的什么很像?答案:快递业务。