关于笔试:
只要前期复习到位,笔试还是很好过的,但是当然分数越高越好,否则后面会被面试官鄙视的。题目可能难度较大,但是要把会做的都做对,如果时间比较紧可以适度放弃部分不会的题目。
关于面试:
温馨提示:如果时间紧急不想看经过,直接看序号标记的面试官问我的问题吧
9.14 晚上6点半 一面 30min
提前一个小时到了酒店,签到完就坐那里等,虽然还没来得及吃晚饭,但是还是想多看下总结的知识点,不希望一面答的太差。
到了6点30多了,准备去问要不要直接上去,一个负责签到的就过来告诉我们我们是今天最后一批面试的,直接到对应房间外等前一个面试完就可以进去。怀着忐忑的心来到了我的房间号门外,一看里面就面试官一人,就敲了门进去。
面试官估计挺累了,没有让我自我介绍,看了几秒我的简历后直接开始问问题(这个有点让我措手不及,因为之前还思考了蛮久怎么自我介绍的),问的问题主要如下(只回忆起这些,提示是我答案的要点,仅供参考):
1,不使用第三个数(临时变量)交换两个整形数
提示:方式1加法,a=a+b;b=a-b;a=a-b;(缺点,可能出现a+b超过范围);方式2位运算,a^=b;b^=a;a^=b;(对数值类型通用)
2,0000到9999这1万个数中有多少个数字7(请不要理解为多少个数包含7)
提示:方式1,可以通过找规律的方式,比如1到10,1到100,1到1000分别多少个7;方式2,对每一位单独考虑,共四位,每一位出现7的概率是1/10;方式3,每次固定一位,变换其他位,比如固定千位为7,那么就有1000个,依次计算,得到最终结果4000
3,如何实现一个随机播放音乐,要求能够方便查看上一首播放的是什么,方便交换即将播放的歌曲顺序
提示:先对歌曲编号为0~999(比如有1000首歌),用洗牌算法(不懂的请自行百度)将序号顺序打乱,之后开始播放,这样播放中用户可以对歌曲再次调整顺序,调整时同步调整序号。
4,6根火柴能最多摆出多少等边三角形
提示:正六角星(8个等边三角形)
5,如何实现俄罗斯方块游戏形状的移动和旋转
提示:先用矩形将下落方块围住标记,再记录方块当前的左下角位置,移动时记录坐标变化(可以百度看更高端的答案)
6,tcp连接过程
提示:答出三次握手、四次挥手分别发送了什么内容、处于什么状态(最好一边画图一边解释)
7,tcp流量控制
提示:答出滑动窗口,拥塞控制,慢启动,可以附带答上快重传、快恢复和超时重传(显得自己知道的比较多咯)
8,SendMessage与PostMessage的区别
提示:从阻塞和非阻塞的角度答,也可以结合windows消息机制中的WM_COPYDATA方式的进程间通信答(此处只能由SendMessage()发送)
9,截图软件如何实现(关于自己做的)
提示:这个作为了解就行,毕竟只是我自己做着玩他看到了就问的。通过GDI获取图形缓冲区位图数据,再通过相应库函数将位图数据转换为JPG压缩数据保存,再实现全局热键设定,监控键盘热键是否按下。
10,图像滤波方法及特点(关于项目)
提示:同上。均值滤波,中值滤波,高斯滤波等
面了30分钟就说到这里了,没让我问他问题。
9月15中午查微信状态变为复试,晚8点半通知参加二面。
9.16 早上9点半 二面(压力面)30min
二面之所以叫压力面,就是全程会让你很大压力(当然这点对很牛的大神0点伤害)。反正我的二面过程中感觉比较压抑,虽然面试官看起来比较温和,但是句句咄咄逼人,从鄙视我的学校开始(普通一本院校。。),然后说我高考肯定考的不好。
全程并没有让我写代码之类(不知道是不是特例,我本以为会让写代码的),问了较多简历上相关的东西,但是一直不对我持肯定态度,要么质疑要么沉默,只让思考了一个正规点的题目,就是说出1到1000里有多少个7(只能说和一面的重复了,无语...)。
不过也问了蛮多生活中学习的例子,比如怎么解决新问题,经常看什么论坛和博客,看到了什么内容(分享给他),然后问c++对比c除了抽象还有一些什么新特性(不管我回答什么,如果有问题,就直接提出,没有他就一脸沉默,不过大概这就是制造心理压力吧)。
面完之后我自我感觉并不好,最后没让我问他问题,我冒昧的问了他我的表现,让他做一下评价,他说我是第一个不好做评价,要等所有面试完了他才筛选。
ps:建议自己简历上的一定要有深层的准备,感觉他问了一些关于我项目中的非常规问题,然后看随机应变能力,还有要保持平和心态,把自己想说的表达清楚。二面下来可能会觉得很差,但是不要气馁,也许只是中了他的招,边等通知边准备其他面试吧,别太受伤~
pps:我面试中没有让写代码,这个可能是特例,常见写代码的面试题还是要准备的,以剑指offer,程序员面试金典,编程之美这几本书为主,完全掌握之后笔试中面试题基本都是小case了。
ppps:不过我还没看完,囧~~
因为压力面的确有蛮大压力,本以为过的几率不大,继续准备百度面试了,然后在9月16号中午微信状态变为进入hr面,晚上7点收到三面通知。
9月17 中午2点半 hr面(也是终面)20min
hr面就比较轻松了,让我做了一下简单的自我介绍(终于碰到自我介绍的了。)然后开始对着简历问一些深入的问题,不一定关于技术的,但是和项目和实习经历有关,问你遇到了哪些问题,怎么解决的。为什么选择这个职位(然后悲剧的发现tx的系统出了问题,把我的职位搞错了,他说帮我联系复试面试官给我确认职位,蛮温和的),考不考研(楼主答不考研,原因balabala...此处省略若干字),为什么不考研。之后问了一些生活上学习上之类的问题,就问我还有什么要问的,这个自己把握好问题就行,把提前准备的问题说出来。
回来后不久微信上查询的状态就变为已完成所有面试环节了,据淼姐表示,hr面基本不刷人的,有少部分人hr面之后状态会变为“你不适合该职位”,如果是这个状态就不妙了~