毕业两年时的面试经历,再次看觉得有点意思,经过这次面试,我对自己的水平更加清楚了,可以说算法一般,C++、理论还勉强过得去,充其量是刚入行的程序员。
华为面试:
1.实现列举满足以下条件的所有三位数,条件一:是完全平方数,二是有任何两个数字相同如144等.我七分钟左右写出.
2.请使用api写出客户端和服务器连接的过程.
3.说说select函数,socket函数族.
4.请说出你使用http时,http调用函数流程.当我说到readopenfile时,他问到是不是异步的.
5.linux常用命令及网络函数.
6.群体面试PK对方.
深圳易思博面试:
1.请用shell命令 来读取文件为12 34 56的数据,并且输出为56 34 12.
2.有两个有序数组,请把它们组成一个有序数组.
3.重载操作符,请问+号操作符你为什么不返回引用?可以返回引用吗?
4.struct中的段移位问题.
5.说说你用过的设计模式,并举例.
6.请说明C++中的多态性,并详解虚函数机理.
7.用KMP算法写出查找字符串.
8.linux的常用命令.
中青宝面试:
1.写出求素数的算法并且分析效率.
2.写出求两个数的最大公约数.
3.写出windows下文件和目录的设计模式.(组合模式)
4.还有一些没意义的语文知识题目.
5.用OO描述狼吃羊羊吃草.
腾讯电话面试:
1.请说出http协议的优缺点.
2.请说出TCP/IP三次握手原理及其状态转换过程.
3.请说说epoll/poll/select的原理及使用逻辑.
4.详细说说滑动窗口.
5.请说出你所做项目的完成端口模型.
6.用英语说说你最近的项目,介绍自己.
7.linux的五种IO模式/异步模式.
我的失败:对一些原理性的东西都没仔细研究,导致无法正确回答.找了linux网络编程类工作,其实我根本没做过linux网络编程的项目,我最擅长的VC开发甚至一句都没问没有发挥的机会.发觉大公司比较重视底层的理解.这两天主攻linux编程的一些函数接口.我的C/C++基本上没有留下什么漏洞,只是领域知识理解不深,都怪自己不好学不深入研究.