当前位置 博文首页 > 炭烧生蚝:大学生如何能挑一个喜欢的大厂去拧螺丝

    炭烧生蚝:大学生如何能挑一个喜欢的大厂去拧螺丝

    作者:炭烧生蚝 时间:2021-05-07 18:20

    大家好,我是阿菌:)

    去年参加的秋招,现在大四。

    大学里比较不务正业,学习了各种技能,编程算是其中一项。

    所以我的方法论和面试技巧可能和一些把编程作为终身事业的同学有所区别,希望能从一个不同的角度给大家一些启发。

    如果你能完全吃透本文的内容,是很有可能在本科阶段就拿到比较高的薪资的。(阿菌实践过)

    当然,如果你已经是研究生,可能拿得更高哦:)

    阿菌只挂了某大厂一个感觉比较厉害的部门,当时的面试官恰好是我实习&秋招前帮我改简历的朋友,挂的原因是我算法不行。比较可惜,当然也非常感谢他,要不然我都不知道该如何润色我的简历。

    去年我五月底结束实习,准备了一个多月,然后开始投递,算法水平仅限于刷完了剑指offer。大学期间忙的事情比较多,没太多时间刷题,算法基础很薄弱。

    一开始我是海投的,也不太了解自己的面试水平,但后来慢慢发现,自己面得似乎还可以,于是就只面喜欢的大厂,其他都在面试前或中途婉拒掉了。

    阿菌觉得,如果这家公司你以后是不会去的,那么没有必要继续面。当然如果面得不多,想要积累面试经验,当然不要放过每一次面试机会。只是现在就业环境蛮严峻的,如果不会去可以提早把位置空出来,不占用资源,对大家都有好处。当然,一定要建立在你有信心拿到心仪offer的情况下才这么做,要不然会比较吃亏的。

    :)

    本文不会像其他面试分享一样罗列知识点哈,那类文章网上蛮多的,这里只是和大家聊聊天,边聊边谈知识吧。

    面试有两点很重要,一个是自身实力,一个是面试心态。

    这么说吧,如果你能在面试中和面试官“”起来,偶尔俩人还能一起笑起来,那这场面试基本就成了。

    当然,面试房间的门关上不等于把车门焊死,逗笑面试官最好不要使用低级趣味,谈谈技术理想,人生哲学,照样能开怀大笑的。

    程序员段子大家应该也看不少了,活学活用吖各位。

    大家一定要记住一点,面试官是在物色同事(能干活的螺丝钉)。

    :)

    大家换位思考一下,如果是你自己组建团队,你想要些什么样的搭档呢?

    无非是人品好好,技术吊吊。

    虽然,最终我们都会变成自己讨厌的样子......

    但,大哥,这是面试欸,演你也要演给面试官看哦。

    :)

    面试内容就先从项目开始聊吧,

    当时我的项目配置是一个小程序,一个小游戏,还有一个小框架。

    放小程序是想告诉面试官:增删改查,我能写;常见中间件,我能灵活运用;项目部署也有接触这样。

    面试官通常都会挑一两个项目问的,像小程序这类项目能聊的就很多。因为一涉及中间件就能牵扯各种设计问题,如果大家在项目里用到了中间件,一定要想好为什么用,如果不用,还有什么其他的解决方案。

    面美团的时候,一个面试官花了一半的面试时间和我探讨这个项目某个功能点的实现,让我想不同的方案。

    唉,人都是被逼出来的,那天我想了五六个吧。

    大家不要怕在面试官面前出丑,当时我想的方案要么很烂,要么天马行空,被面试官怼的体无完肤。

    哈哈,唉,管他,能给咱过就行。

    :)

    其实面试官都会想要一个点子多的应届生,这可能意味着所谓的潜力吧,所以大家不要害怕展示自己的思考,就算复杂度low到爆又怎样,它也是一种解决策略呀!

    而且,通过不断地优化,它最终是有可能成为最优解的,这需要大家和面试官不断探讨,这就是所谓的“”了。

    如果有余力的话可以和面试官聊聊部署运维相关的事情,比如当时咋用的Docker和k8s,搭建了一套CI/CD这种,展现你对系统的把控能力。如果没尝试过可以考虑了解一下,会是加分项哦。

    另外,放小游戏的原因是我觉得能和面试官聊很多网络,协议,IO模型相关的问题,个人认为各种IO模型的设计非常有趣,所以比较喜欢聊这个。

    大家也可以根据自己的兴趣点,放一些相关项目到简历上。

    这样一来,面试官问到就是赚到。

    最后一个放的是小框架,当时做的是一个精简版的spring。

    我觉得项目中有一个小轮子还蛮重要的,大到小型操作系统,小到应用框架或类库都可以。

    工作中,面试官(领导)可能不会喜欢一个啥都从头造的同事,因为大公司有完善的技术工具。但是,谁又会拒绝一个能造轮子的人当自己的同事呢?

    这里,隆重推荐一下码农翻身公众号刘哥的spring教程:从零开始造Spring

    :)

    程序员面试,网络和操作系统是两座绕不过的大山。

    先聊网络吧。

    其实一路面下来,网络问题无外乎网络协议,而且定位还可以精准一些,就是传输层的TCP和UDP,偶尔问问HTTP/HTTPS这样。

    我不太了解科班生是如何学网络的,听计软的同学说他们要看好几本书,考试是要考好多概念的,还有计算题呢。

    我入门看的是刘哥推荐的自顶向下,看了四五遍这样,面试的时候感觉还蛮轻松的。

    举个例子吧。

    在面腾讯的时候,其中一场面试官一上线就丢来一道算法题,一道前缀树的变型。但由于算法基础不扎实,而且比较紧张(秋招第一场面试就是腾讯),最后没跑通,换了个普通解。

    面试官的笑容逐渐消失。

    :)

    然后随口问了一个UDP怎么保证可靠传输。

    我当时一愣,也不知道当时有没理解错,反正我是这样想的:

    大佬欸,想考TCP就直接问啊,为啥要套个UDP外壳呢?

    没办法,人家问的就是UDP,那就和他聊聊如何在UDP的基础上继续修改协议,增加功能,做到稳定传输吧,无非就是加序号,设计重传,开滑动窗口提升效率(TCP那一套)。

    结果当时用了一半的面试时间聊这个问题,这种聊深了得好好聊,比如说滑动窗口具体落实到代码该怎么写。

    我觉得背概念会比较虚,和面试官聊天,当涉及技术点的时候,最好能站在一个“如果要我实现,我会怎么实现”的角度去聊,把自己的想法罗列出来,当然这需要你平时学习的时候也有类似的实践才能在面试的时候有话可说。

    自己的实现肯定比标准的要菜很多,但设计思路和理念跟上就行。

    :)

    操作系统问得也蛮多的,感觉频率会比网络少那么一点点?

    如果各位仍在校,而且时间充裕,非常建议大家去做一个小型操作系统当面试项目哇,这绝对是大大滴加分项。

    抛开面试的功利性来说,写小型操作系统感觉会对一个人的编程能力有巨大的提升。

    操作系统都能写,以后不是想干嘛干嘛吗?去做工程也行,开发数据库,中间件,做基础设施也行,干啥啥都行。(使劲忽悠,使坏)

    没时间写?

    呃,那就去背那些概念吧,面试要考。

    阿菌这种懒鬼肯定就不写了,哈哈,其实还是想写的,但是真的没时间啦,连算法题也没时间刷。唉,还是比较喜欢睡觉,和唱歌。(咳咳)

    :)

    最后是编程语言了,算法我就不提啦,唉太丢人了,庆幸当时各位面试官都能容忍。

    面大厂编程语言似乎就没那么重要了,但是面之前自己用习惯的编程语言要了解(不敢说精通)。

    了解指的是语言特性,基础类库的底层实现。

    当时面试前用的是Java,虽然不是各个大厂都用Java,但是面试官都会根据我的情况问一些Java相关的问题,并告诉我部门用的是XX语言这样。

    Java的考点很多,但比较常考的就是一些数据结构的实现,我觉得这都和语言无关了,和面试官聊数据结构就行。算法题咱可以不会做,但基本的数据结构,各位,这是底线,没得讨价还价的哈。

    再比如一些多线程并发相关的问题,很多都是一些理念上的问题,并不是Java一门语言独有的,所以聊的时候其实可以放下具体的语言,聊某个技术点的理念与实现,这样会好一些。

    :)

    大概就是这么多啦,一个本科生也不可能有太深的技术积累,面试官可能更看重潜力吧,我们装成有潜力的样子就好啦~

    大厂技术面试一般都是三四轮,一面偏基础,二面偏项目,三面看BOSS喜好。面试时,面试官问问题往往会步步紧逼,看你的积累有多深,问到不会为止,这可能就是所谓的吊打吧。

    欸,从阿菌的经历看来,几乎所有面试官都会这样,非要问到别人不会为止。不过,在触及盲区后选择合适的时机服软,面试官都会切换问题的。

    一开始肯定是备受打击的,后来就习惯了,不受点打击这面试就过不了,所以大家放开和面试官对线就行。

    如果大家有兴趣可以考虑关注一下我的公众号:波波和阿菌(这不是一个技术号,是个漫画故事号:)),回复关键字“笔记”,即可获得阿菌记录的一些面经和面试前对知识点的小结(有道云链接,不搞虚的)。事先声明:,我的笔记比较乱,因为是想记录啥记啥,只是为了方便自己看。面经也没记多少,面到后面发现问题都一样,没啥好记的了,即场发挥吧,但一定要保证上次没答出来的题目要弄懂,别在同一个地方摔倒。其实阿菌也失败了好多次的,腾讯面了三个部门才过呢。不过前两个挂我的面试官给了我好多建议,大家面试完也可以和面试官聊聊天的,有时候面试官提点两句真的能帮助到自己不少的,后面再面其他大厂就很有自信了。(但就不透露去哪了哈,最后去的厂也没记面经,很多都没记的,面经网上一搜一大把哈)

    我觉得这戏笔记对有面试需求的小伙伴还是有帮助的,你可以看看我都整理了哪些点,然后你可以根据这些点自己去学习,要记住,面试千万不要死记硬背,自己理解之后,能按自己的想法说出来,这样和面试官对线才有一点点可能性哈。如果强记那些面经,你会发现自己面试的时候使不上劲的,一问深就跨。

    我大概是大二开始接触编程,认识刘哥,这项技能修炼了两年多吧。

    期间也不是所有时间写代码,喜欢画点小漫画这样。

    希望这篇文章对大家有帮助。

    bk