又到校招季,来说说面试和实习

大飞码字

共 2591字,需浏览 6分钟

 · 2019-07-13

1.png

又到校招季节,有的同学开始准备秋季的校招面试;也有的同学已经拿到了实习的offer , 在公司里面实习。

这段时间收到不少同学关于面试和实习的问题,后来想想,干脆写篇文章吧,把大家关心的问题写得详细些。

面试

很多应届毕业生来咨询面试的问题,大部分是问面试需要怎么准备的问题。

关于这个问题,其实没有统一的标准答案,不同公司不同岗位可能都不一样,这里我分享些我的经验和心得吧。

一般会重点考察的点:

1. 算法题目 。这里主要看题目有没有做对,代码写的好不好。考察的是编码能力和算法思维。

2. 计算机基础知识。不同岗位会有差异。

通用的:操作系统,网络。

语言方向相关的:数据库,各语言的虚拟机,浏览器机制,Android 系统的一些机制等。

3. 语言相关。例如 C++ , Java, Javascript , 一些语言知识点,一些常用框架等。

4. 项目经验。根据面试者的实际情况,考察项目经验。

5. 思维能力,沟通表达能力等。

以上是一般的考察点。

总的来看,有两个方面。一个是基础能力或者说潜力;一个是实际项目经验。如果两个都没有,就会比较难了。如果只是会背一些概念,那是没什么用的。

大公司或者比较注重长期发展的公司,会更看重基础能力(潜力);人力吃紧的公司会更看重实际的项目经验,因为他们希望能够进来就干活,没有太多的时间和资源去培养新人。

对于应届生而言,要做的就是去审视自己这两部分的能力。如果你两部分都没有,那就会比较难找工作了。如果两部分都很不错,那可以去挑战下大厂的offer。

具体准备的话,要根据时间来定。

如果你目前才大三,有一年多的时间,我觉得你可以根据自己的特长和喜好来准备。

如果喜欢刷题,可以把重心放在刷题上,如果有机会去参加一些 ACM 的比赛,能拿到名次,那最好不过。

如果不喜欢刷题,喜欢折腾各种项目的,多做些项目也是不错。但建议不要一直停留在只会做一个管理系统的水平上。很多同学老跟我抱怨,进了公司,一直在做增删改查的工作,但如果你一直只会增删改查,那也只能做增删改查的工作了。

如果时间不充分,比如只有两个月了,那就只能抱抱佛脚了。去网上找对应公司,对应岗位的面试题库吧,理解也好,背也好,反正好过没有。

另外就是继续刷题, leetcode , 牛客网都可以。刷 leetcode 要尽量刷到中等难度的水平,这个难度的题目要能在半小时内解出来,基本算法部分就不是问题了。

以我的经验,毕业生的题目大部分做的比社招好,可能是因为有更多的时间刷题吧,所以毕业生同学不要来抱怨算法题难做,你们是有优势的。

时间不够,项目经验其实是积累不来的,真的要,也只能整个管理系统充充数了,好过没有。当然有时间的同学,还是要用心做做项目的。

实习

有的同学幸运地拿到了公司的实习 offer ,接下来,我就说说实习的情况。

关于实习的三个问题:

第一,要不要去实习。

不要先问要不要,要先问能不能,当拿到一些公司的实习 offer 后再考虑吧,很多同学 offer 都没有,问这个不是空谈嘛。

另外,实习 offer 不是那么容易拿到的,特别是一些好公司的实习offer ,能拿到估计你也不会来问这个问题了。

第二,关于实习的幻想。

我发现有不少同学对实习有种美好的误解。觉得实习就是去到公司,然后会有专门的老师来教大家,让大家一天天获得进步,感觉这种想法太学生思维了,也太学生惯性了。

可能是因为大家一直在学校,习惯了这种思维方式吧。

但公司跟学校是不同的,公司是盈利机构,是要赚钱的,是要考虑成本收益的,招实习生,很多企业就是为了廉价劳动力;也有一些资本雄厚的公司愿意花钱和时间去培养实习生。

但无论如如,你都不能抱着学生时代的那种心态去实习,想着有人会帮助你,会教你,会一步一步引导你。

在公司,有人愿意帮你,那是情分,是善举,你应该要感激;没有也是正常的,因为这个就是真实的企业。

那你应该怎么办?你要学会自我成长,要学会自己学习。

你要学会观察,学会学习。观察一个公司内部是怎么运作的,观察前辈们是怎么工作的,如果他们没有主动教你,你就要主动请教啊。公司的每个人,内部的各个论坛,每一份资料,老员工日常做的事情,都是值得新人去学习的。

有些公司会比较正规,有正规的培训,正规的导师制度,对这些就要感恩了,不是所有公司都有的。

第三,关于实习的工作没有技术含量。

不要抱怨刚开始工作没技术含量,你真觉得自己很牛B?把核心系统交给你,你真的可以搞定吗?

待你真有能力了,再来抱怨吧。

有同学跟我抱怨,实习的工作没有技术含量,在重复做些低级的事情。我看了他的实习时间,不长,就三个星期,这么短的时间内,我觉得就是会做些低级的事情的。

如果基本系统的流程都不清楚,一来就给你一个大的project , 有可能会把你给压跨的。做砸了,谁都担当不起。

最后给大分享下,我毕业后的第一个任务吧(类似实习任务)。

当时我所参与的是一个大型的老系统,很庞大,涉及的模块特别多。

我接手的第一个任务,就是在系统里面增加一条命令(你可以认为就是增加一条协议吧,不过当时那个系统在这方面设计的不太好)。

我用了近两个星期的时间去看代码,从接入层到应用层,从应用层再到数据层,中间还请教了导师和相关的同事几次,最后只是增加了不到 10 行的代码。

写完那 10 行代码后,我测试了几遍,提交前,我对着代码的 diff 也看了好几遍,后面我的导师给我 review 我写的代码,还给我找出了三个 bug。

以上就是我接到的第一个任务。

后面有三个月左右的时间,都是做这种事情。

在做的过程中,我对系统越来越熟悉,系统的上线流程,灰度,回滚,日志查找,问题定位等都在这过程中慢慢熟悉了起来。

后面我导师给我布置比较难的任务的时候,我已经对整个流程很熟悉了,所以可以很专注于需求本身,而不用再过多顾虑需求之外的东西。

我觉得这个就是低级事情的价值,这是一个循序渐进的过程,几乎人人都会经历。

我带人之后,也会让新人做这些事情。以我观察到的结果,有些同学确实会抱怨,也有些很细心地完成了,然后接手了新的任务,又超预期地完成了。

作为上级,我会比较喜欢第二类同学,而且也愿意给予更多的机会让他尝试。

以上是我的一点经历,有点鸡汤,但也是事实。

结语

以上是关于面试和实习的一些经验分享,希望这点经验和心得能给大家带来一点帮助。

最后,

祝准备参加面试的同学面试成功!

祝已经在实习的同学实习顺利!

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报