春招——致我的处女面

只记得好多都是截止前投的,只有一个念头,抓紧时间准备,春招不能不开张。然后选了好多,听说过的没听说过的,各种海投(其实目前只投了5,6个)。挂就挂,当做长经验了,为秋招做准备,为进大厂做准备,不想去BAT的程序员不是好程序员。

一天晚上的cvte笔试,感觉答得不是很好,最后居然过了,莫名开森。再然后是瓜子二手车的笔试,在上午8点半到10点,一边上课一边笔试。最后,居然又过了(可能我拯救过地球)。

CVTE

一面面试官挺帅的,嗯。问的很基础,然而我居然都不会….(这是收获最大的地方)。

面:介绍下自己吧。
我:balabala
面:平常用C多还是用C++多呢?
用C多。
面:那你说下指针和引用的区别吧。
我:(这个问题问的好啊,但是区别是啥…然后开始扯继承里的动态绑定,父类的类型必须是指针或引用,最后扯不下去了)。这个,我还理解的不是很深。
面:(笑),了解。那你说下malloc和new的区别吧。
我:(这个也问的好啊!!!但是又不会…这个真的没法扯)malloc要加头文件。(面试官笑场)
面:对确实要加,那在C++程序中可以直接调用malloc么?
我:可以的吧。
面:直接调可以么?
我:应该可以。(心痛….),这方面还没有深入学习(全身颤抖…)
面:刚说你的那个继承,你说下动态绑定怎么实现的。
我:(这个我真的会,书上没有,看了好几个博客的说,然后我开始说虚函数表,vptr,虚拟内存,省略100字)
面:那到底是怎么实现的呢?
我:(….exm)这个我是看的博客上的,书上没有,所以了解的不是很多。
面:(笑)书上没有啊,好吧。写个题目吧。
我:(又慌又期待)。
面:给一个链表,返回倒数第k个结点。
我:(哈哈哈哈,这个我可是做过的,刷刷刷,一分钟搞定,看了边界情况),呐,应该是这样(欠缺底气),嗯,肯定是这样。
面:(大脑疯狂运作),你出个样例自己调试下。
我:(难道写错了?人脑调试了三五分钟,确实有点问题,改了)
面:嗯,可以。写过动态链接库没有?
我:没有((⊙o⊙)…怎么不问我项目啊)
面:那你说下堆和栈的区别吧。
我:(开始怼进程的内存分布,虚拟内存,和操作系统有关的各种怼)
面:你这个项目是用非阻塞IO?
我:对(鸡冻)。
面:那你说下异性IO吧。
我:(….不对呀,剧情不是这样的),我不是那样写的啊。
面:(开始给我讲非阻塞IO)。
我:用信号通知。(感觉这几个字救了我)
面:(一愣),对,大多都是用信号实现的。
面:写过makefile么?
我:写过简单的实现。
面:那你说下吧。
我:balabala。
面:好,说下gcc -I(大写的i)是什么意思吧。
我:这个…我没有用过,不过我用过-g,是生成可调试文件的。
面:好。了解。
面:你觉得你的优势和劣势是什么。
面:你有什么想问的么。

就这样,全程被血虐,面C++岗,基础都不知道,有种想回家种田的冲动。然而剧情有转折。

面:这样,晓菲。你让他十分钟后来二面。

我不止不相信耳朵,甚至不相信脑袋。屁颠屁颠出去,百度指针与引用,new与malloc。顺便又复习了下快排,第k小的数,和一些算法题。
过了一个小时(面试官吃饭去了)。
二面开始。是一个小眼睛的小哥,人很好。

面:介绍下自己吧。
我:balabala
面:说下你最满意的项目吧。
我:(那个web服务器我可以吹到毕业。)那个web服务器。
面:说下思路。
balabala
面:画下它的框架吧。
我:(exm…,开始瞎画)
面:说下HTTP协议吧。
balabala
面:为什么这样做。
我:看csapp和apue时,两个结合改的(原版用的是进程),为了理解下线程的通信。
面:那什么时候用线程,什么时候用进程。
我:(….开始怼进程与线程的实现与区别,省略200字)
面:那到底什么时候用线程,什么时候用进程。
我(…开始怼线程多么好多么快)
面:那进程不好为啥保留它。
我:(…我错了哥,又说了下线程和进程的区别)
面:看个程序吧。输出是什么。

1
2
3
4
5
6
7
8
#include<stdio.h>
int foo(void){
char c;
char *str = &c;
strcpy(str,"Hello");
printf(&c);
return 0;
}

我:(开始扯虚拟内存,毕竟csapp上的这部分我可以看了三遍的。然而被打断)
面:你就直接说输出啥。
我:这个编译会错吧。
面:为啥。
….几个回合的指导后,说出正确答案。收获颇丰。(正确答案是输出Hello)
面:如果多线程调用这个函数,会出什么问题。
我:printf那里,balabla
面:还有呢。
我:(…还有吗?)return 0那里?
面:那里怎么了。
我:return 0等价于exit(0)但是不同于_exit(0).(被打断)
面:不不不没有那么复杂。
面:strcpy那里不会出错么。
我:(恍然…balabala)
面:嗯,linux命令熟悉么。
我:常用的知道些。
面:嗯,说下top与ps 的区别
balabala
又问了几个常用的linux命令。都秒回
面:网络了解么?
我:(有点虚)知道点
面:TCP为什么四次挥手。
我:他本来就应该四次呀,(开始说挥手的过程。被打断)
面:你不用说过程,过程我知道。
我:(我知道你知道呀,我只是想让你知道我知道…苦思一会儿)就是四次呀。(继续说挥手过程…)
面:三次不行么。
我:不行,balaba
面:对呀,那你直接说数据还没有发完不就行了么。
我(…对自己无语,确实是忘了好多)。
面:gdb用过是吧。说下调试命令。
balabala
又问了几个上传博客的命令
面:如果有一个项目必须让你用java,你会怎么办。
我:(意思是调剂岗位么?不对,到底想问啥,又想了会,豁然,问学习能力,然而想的太久,应该秒回的)自学。
面:如果马上要交付怎么办,你重头学么。
我:嗯,加班加点。(确实愿意这样做的)
面:说下五年的规划吧。
面:有什么想问的么。

一面被血虐后,二面终于挽回一点尊严。所以结果还是很纠结的。等了大概一天吧。收到hr面的消息。莫名激动。
总的说面试印象还是很好的,小哥哥小姐姐都很贴心,人超级好。中午一面完小姐姐叫我去吃午饭,但是我是真的吃不下。
听说hr面很难的,可能会刷一半的人,有点慌。但是不能虚。

瓜子二手车

下午和舍友一起去西电面试。最深的印象:西电好漂亮呀!西电的女生好漂亮呀!她们也健身么,身材这么好。当初为啥没好好学习….
一面,面试官很可爱,人很好

面:说下你的项目思路。
balabala
面:你是用C写的啊,挺厉害呀。
我:(本能谦虚)没有没有,这是只是实现了下最简单的功能
面:说下HTTP协议吧。
balabala
面:那你这个服务器最多可以创建多少线程呢。
我:(懵,这不是linux规定好的么)这是规定的吧。(其实没懂面试管问的意思)
面:是6w多么。
我:65536?(一些数字应该敏感的)
面:差不多,线程越多越好么?
我:不是,上下文切换太频繁
面:线程的数量受什么因素的影响呢?
我:(开始瞎扯),内存,带宽。
面:对,但是影响不大。你这个支持的长连接最多是多少呢?
我:wrk测过,每秒1.6k(其实答非所问)。
面:你这个是短连接吧。

我:您可以去看下我的网站,有链接的。
面:别了,我这里不能上网。
我:没事,我给你开热点。
面:别了别了。
我:(莫名尴尬)
面:写个题目吧。你刷过题吗?
我:做过LeetCode,大概20道吧。
面:挺厉害啊。
我:(…我才20道啊,厉害的都刷爆了)
面:跳台阶的题做过么?
我:斐波那契那个么?
面:对,那就换一个吧。
我(…….肠子已青)
面:你实现下队列吧。要线程安全的。
刷刷刷。
面:这样,满和空你别返回,让等待,
我:用条件变量么?
面:(笑)对。
刷刷刷。
面:嗯,你这个会假溢出吧。
我:奥对,用循环队列是吧。
面:当然要用那个呀。
我:(改了下满和空的条件)
面:(笑)好。
面:close_wait了解么。
我:time_wait么。
面:对对对。
我:在书上看到过,有玄机,整整一章都在写那个,不过我还有看到那里。
面:行。看一个开放的题目吧。50亿个数据存在两个文件里,每一行都是一个URL,你来找下其中重复的URL。
我:用哈希和…B树的思想么。
面:你说下B树。
balabla
面:那你怎么排序呢。
我:那就用read调用,每次读1w个数据,映射下。
面:映射的结果放哪呢。
我:放磁盘。
几个回合的引导,我说对8成。
面:行,你出去等下吧。

感觉应该有戏。等了半个小时后二面。

面:(拿着一面面试官给对我的评价)介绍下自己吧。
balabala
面:说下你的项目思路吧。
balabala
面:为什么这么做。
balabala
面:说下线程的同步方式。
我:balabala
面:进程的调度策略有哪些。
我:balabala
面:嗯,挺好。做个题目吧。给一个数组,可以把相邻两个加起来,求最少加几次可以成为回文数组。
我:(慌,这题目没做过呀,但是我听到旁边的面试的同学的题目,那个我会…)想了好久(大概7 8分钟)。应该是这样。
面:说下思路。
我:balabala
面:嗯,不错。再看一道吧。假设地球上只有一个机场,飞机的油箱只够它飞到地球的另一端,然后就没有油会坠毁,飞机之间可以把自己的油加给别的飞机。问一个飞机飞地球一圈至少需要多少个飞机来给他加油,要求不能有飞机坠毁。
我:(…这个是真的难,想了大概20多分钟)
面:怎么样。
我:想了一半。
面:好你再看看。
又过了10多分钟。别的场的都面完了。
面:说下你的思路吧
balabala
面:嗯,还可以。
然后指导我把另一半想完。
面:觉得你挺聪明的,所以出了这道诡异的题目来考考你。不过没关系,你可以下去查一下。你还要什么想问的么。
我:(开森也有点沮丧吧)。balabala

面试官人都很好。两场的印象都不错。话说为啥不投大厂呢?谁都想去,但是先涨涨经验呀,慢慢来,战争才刚刚开始。