记录人生第一次面试(惨败)
今天,去了一趟杭州。
因为前两天学长在群里说那边有一个实习生岗位,我心想这个实习岗位也挺不错的于是就跟学长说我想去。然后,那边的负责人打电话过来电话面,开始一阵紧张,后来听说负责人是我的上上上不知道多少届的学长也是学ACM的,心里顿时踏实了许多,问了一道简单的算法题,一阵尬聊后就通知我过去面试了。
然后今天一大早就起床去杭州了。记得走之前还跟室友调侃说要是挂了以后可没脸再去找学长了(结果真挂了,详情看后面),心里想得是还是有五六成把握可以过的,毕竟面试官是学长而且我也做了些准备(看了大(少)量编程面试题,还有学长说的linux方面的知识),就算不过也应该是差一点的那种。
然后到了公司,跟前台小姐姐打了声招呼,然后她就带我到了一个似乎是会议室的地方,紧接着HR过了问了下名字给了我一份笔试题(HR小姐姐好漂亮!)。
然后就是一个人坐在会议室里写题目了,孤单寂寞啊!
打开笔试题开始做,前几题还算正常(static有什么用、数组名和指针区别、内存溢出和泄漏等),然后linux内存结构?不会。高并发计时器设计?什么意思啊,听不懂啊,没做过啊。动态库加载过程?不会。四次挥手?忘了。
。。。。。。
嗯,反正就是2/3都是空着的,做的最舒服的也就是手写快排了。
好了,花了十几分钟做完了笔试题(实在写不来了啊)。开始做性格(智力)测试,第一题什么选最合适和最不合适的图形勾选,一开始还理解错意思了,什么鬼啊,感觉这些图形没什么区别啊!第二题,看了半天才看懂。第三题,怎么都看不懂,感觉我的智力都被侮辱了。中途还换了个场地继续做题(会议室有人要用),过了会就又回来坐着了。
做完题目(没做多少,做不来了),呆了许久,学长终于来了。开始问我ACM的经历,ACM实验室怎么样了(可能简历上实在没什么东西可以问了,太简陋了),balabla。。。。。。
然后,听到了一句“我已经给你准备好了实战的问题了”。
“???,什么?这跟我以前看的面试过程不一样啊,不应该主要是上机做做编程题吗,实战什么东东啊。”
然后,学长又问了“你感觉你接受一门新语言快吗?”,我心想,终于找到优势了,于是回答“是的,我觉得像Go语言这种我可以快速入手,之前看python也是几天就入手了。”,我几乎是拍着胸脯说的,声音都大了三分。
“嗯,好,听说你学过python爬虫,接下来我的题目跟这个也有关系。”
“???,啊,我都几个月没写了,别说爬虫,python都几个月没动了。我明明在简历上写的是了解并使用过啊,就是想说我不怎么会啊啊啊啊,早知道不加上去了。”,内心非常糟糕,表面还是强装镇定地回应下来。
“嗯,我给你说说这个题目吧。”,学长拿出一张纸来,纸上有四个Go语言题目,前后都是有关联的。
题目是这样的:
一、快速了解Go语法
二、写个简单爬虫爬取花瓣网图片,并按图片类型做分类
三、限制不同类型图片的下载量
四、使用go的协程,实现一个简单的worker pool模型
中间可以问他三个问题这样子。
大概会给我一个小时多一点的时间去做完。
“嗯,嗯,嗯,嗯。。。”,嘴上应和着,头上不停冒冷汗。
“我说学得快,没说这么快啊喂!”
但是转念一想,前三题或许做得完?听学长的语气好像有个官方api可以获取图片(后来知道是听错了),那我只要访问api获取json(查一下),解析json(查一下)获取图片链接和类型,下载图片(查一下),随便分个类就行了,做得完哦?说不定第四题也能做完?
好了开始上机,学长给我准备了一个降噪耳机,和一台配好环境的linux机子。
然后就飞快地打开Go入门网站开始看起来,简单地看了一下变量声明复制,函数的创建使用后,就直接按之前打算地做,先把json数据获取过来。
google一下,go request json好了找到了一份很简单的例子,改下链接应该就能用了。
好,找一下花瓣网的api,咦?怎么搜不到??难道没有官方api?
僵持了十来分钟后。
“学长,那个花瓣网的api是什么啊?”
“没有官方api,你要自己去找的,找不到直接解析网页也行的。”
“嗯,嗯,嗯。。。”
开始打开network找了一下,xhr过滤一下,诶,怎么没有啊?(后来知道是我sb了,爬虫太久没写了,瀑布流都忘了)
头上不停地在冒汗。。。
那。。。只能解析网页了啊。
好,找了一份go解析网页的例子。
大概看懂了,好像要装个第三方库?
安装一下,那个。。。root的密码是什么啊。(我应该问一下的,又不好意思)
好了,没装。
僵持了许久,又想回去找那个链接,这时候时间已经过去好多了。。。
学长过来开了一眼。
“做好了吗?“
“没有,找不到花瓣网的那个爬取json的链接"
“好的,我已经给你准备好了python写的爬虫,你只要把python改成go就好了,我来给你说一下怎么找到那个链接。"
"嗯,嗯。。。"
然后页面下拉了几下(要下拉几下,开始有一片是静态的下拉没反应),好了出来了。(我sb了,怎么这个都不会了)
“嗯,好,你接着改吧”
“嗯嗯”
打开python文件,硬着头皮开始改。之前急着实现功能,语法反而看得很少,改python代码感觉还不如自己写一份,加上我用了vim在写,极度不适。(明明是图形化界面,放着vscode不用,用什么vim?我是真的蠢)
十几分钟过去了,我就创了个函数,写了几个变量。。。。。。
“你做的怎么样了,给我看看。”
“啊,嗯,嗯。。。。”
然后打开了只有寥寥几行的垃圾代码,真的丢脸死了。
“好的,你跟我过来一下”
然后学长就跟我说了很多,说故意不考算法题,而是给我一个实际的问题,想让我体验一下如何去解决一个问题,而不是做一道题目。
我也很尴尬,毕竟什么都没做出来。
然后,就是表达了,我应该想想如何发挥ACM的优势,去做别的事情,而不应该只会做题。
这点说得很对,做题归做题,毕竟出去工作还是要解决实际问题的,而且我题目做得也一般(区域赛铜牌),还没到能靠算法吃饭的地步。让我回去把题目补了发他,他会考虑的。
然后,就收拾收拾回家了,本来还想找在那里的另一个15的学长叙叙旧来着,现在都没脸去了。
回去的时候,因为没有最近的票了,买了晚上九点多到的票,还是站票,心累。
2019.06.17
后来回去补了实战的的题目和笔试题给学长,实战的题目因为写的时候遇到各种小问题(主要是请求头设置多了一些信息,导致爬取的数据有问题,让我一度怀疑是写得有问题,浪费了好多时间),所以一路磕磕撞撞,回去第二天下午才补好。还有笔试题,好像有些不是直接搜就有结果的啊,然后抱着学习的心态该查的查,该翻书的翻书,当天因为那个实战题目做得太久了脑袋昏昏沉沉,后来看书的时候收效甚低,又拖到了下一天了。最后补完了,好像补得太慢了,过了两天才发过去,于是就没反应了。
2019.06.20
总结一下,没想到第一次面试会这么尴尬,不过归根结底还是自己的能力不行,其他东西接触得太少,以至于真的遇到问题时会自乱阵脚,无法在短时间内解决。我也的确该增加一些别的技能,其他的基础也应该去弥补一下(操作系统,计算机网络等),趁着暑假好好努力一下。知耻而后勇,丢脸不可怕,怕丢脸才可怕(怎么像绕口令)。
后话:
结果最后还是去实习了(尴尬)。后面过了五六天,然后才打电话过来说要复面,然后又根据我上次发给那边的题目做出一些建议,让我改正。然后就改了改又发了过去,复面了一下(聊了聊设计模式,和LRU的改进建议),然后就通知过去实习了。现在已经实习了一个多星期了,签了一年的实习合同干到转正,希望可以在这一年里有比较大的进步吧。
2019.07.15