2020年已经接近到9月份了,我也已经入职现在所在的公司3个多月了,作为一个曾经的菜鸡面试者,在不断的失败中成长,最终斩获了多份offer,因此特别想在此分享一下我的面试成长之路。
首先和大家分享一下自己上个面试季所斩获的所有offer:腾讯,美团,字节跳动,拼多多,爱奇艺,华为,小米,金山云,搜狐共9家公司,其中好几家给到可sp offer。最终入职了:字节跳动的「互动娱乐」部门成为了一名研发同学。
然后下面讲讲整个路线:
首先,本人是一个留学生,所以我有着和大多数留学生一样通病:对国内招聘环境/时间的不熟悉,整体知识体系不了解,海外院校不怎么流行实践性/工业性知识(也缺乏比较多的实操课,很多人不了解比如流行框架等,所以很多国内面试官会觉得留学生基础弱),当然也可能只是我的问题,而非留学生通病。总而言之,因为这些原因我刚开始的面试路可以说是完全磕磕绊绊,屡屡碰壁到自信心匮乏,而甚至不愿意再去面试,到后面通过女友的鼓励、重新振作,总结知识点,查漏补缺,不断面试,最终斩获上述offer。
我第一家面试的公司是网易游戏的实习生,其实技术栈不太对得上,那边是做C相关的,而我当时主要写Java(不过就算这样我也没回答上对方问的Java的问题),我印象极为深刻的是,对方当时问了一个很简单的问题,简单到我现在想起来当时还会觉得羞耻:
问:Java中ArrayList和LinkedList的区别是什么。
我支支吾吾的没答好,真的是因为不知道区别吗?不是的,而是因为不了解,因为不了解,所以哪怕知道答案,也说不好/不敢说(因为怕是错的)。这是我第一次面试,面试完之后一直在晃神,因为面试官是个说话很温柔的人,我当时甚至有了种面试可能会过的错觉,那段时间天天刷关于「在网易游戏工作是种怎么样的体验」相关的知乎,幻想如果我可以去会网易会是怎么样,最终在等一了一天又一天之后去找到hr询问结果然后->失望。
在这之后的很长一段时间后,我没敢再去面试,觉得自己太丢人、技术太差不敢去谈论技术话题。后来我渐渐开始看网上的文章,知道要刷leetcode,看面经,然后之后一年多的时间,边上课,边刷题,边看知识点 -> 直到去年中旬,第二次开始面试。当时面试的阿里巴巴,被完完全全的面到自闭了,我还记得当时的面试官说是阿里巴巴高可用组做混沌工程的,甚至问到了很多我以前没听说过,也没接触过的名词。。。。
之后的一段日子过得浑浑噩噩的,甚至不知道将来改怎么办,也很担心自己找不到工作。我相信有一些同学也和我有过相同的感受,但是经历过这个时间段的我更清楚,一次面试失败不是结束,这样颓废下去才是结束,这个时候真的需要振作起来。我后来在女朋友的鼓励下开始振作,拼命看书,补习知识,做练习题,因为本身成绩很好,基础扎实,不过的看才慢慢把以前分散的知识串起来,同时也不断的投简历+面试,完全吧面试当作了上课学习的机会,每次面试完之后有不懂的题目也一定会去追着问,或者重新补习知识点,直到烂熟于心,然后拿到以上的offer。
以上就是我的经历了,其实我感觉面试还是套路多,但是基础过硬才是真道理。就像高手过招,面试官出一招,你要拆一招,也许有套路在,但是你也不可能见过所有的招式,所以不断学习才是硬道理。也想分享一下我的学习路线:
第一,其实不需要显示出你会多少种不同的「语言」,重点在于一门语言要去试着深入了解它,比如我就花了很多时间去了解JAVA,从最基本的基础集合库,到并发库,去了解内部的优化/用到的设计模式,缓存优化的地方,然后并发的实现/原理,JVM模型,GC的知识,编译的知识,调优的知识,字节码的组成,不同JDK版本的变化等等,然后拓展到工业界流行框架知识比如SSM,SpringBoot,SpringNative,甚至比较老的JAVAEE等(这只是Java的)。也许有人话说,哪儿有那么多时间深入了解那么多。是的,我也没有都深入了解,但是知道也一点点也比不知道好,听过名字也比完全不知道好。Java只是一个选项,我觉得重点是需要有一个你自己深耕的领域。
第二,基础知识一定要过硬,基础知识就是说:计算机系统,编译原理,计算机网络,数据库、算法数据结构、软件工程等等一定会学这些知识。过硬是说,上课的那些知识需要知道,最好还是要有所拓展。而且这些知识也有经常问的题目,比如快排之于算法,B+树至于关系型数据库等这些经常被问的题目。
第三,如果第二点做不到,比如你是转行的,那就拼命了解框架/工具知识,工业界对于业务场景的常见解法等。而如果你基础很好,那么这一点就会是加分项,顺利的话有的话会很大的加分,但是我个人还是建议不要因为这一点而舍弃了第二点(不要为了学习框架,而放弃了夯实基础知识)。流行框架/工具是在太多了,哪怕在工业界,也没人敢说全都了解,有一些成本相对较低,但是收益较大的,例如:Redis, Hive(Hadoop、HDFS),Kafka等这些基本各个公司都经常用到的,还有你熟悉语言的流行框架等(比如SSM之于Java)。学习框架第一点当然是学会去用,但是也需要学习一些背后的知识,因为背后其实就是 分布式、消息队列、微服务、负载均衡、虚拟化 等等这些知识,而为什么会有这些知识,那是因为大家遇到了问题,在一些场景下提出了一些解法。所以你明白这个思路,「框架是具体实现,一般框架后面都有具体对于的一个/或几个理念,这些理念很多时候都是 某些问题 在 具体场景 的一些解法/方案」。因此,尽力的一起来看,而不是知识点散开着看,这样对于自己去理解知识也会更好。
第四,手撕代码的能力,其实我个人觉得,手撕代码这件事情,这个不是没写出来就不行了。「而是你不仅没写出来,你代码整体的结构还是一团糟」。所以我觉得手撕代码没什么好说,多练习,其次,面试的时候,注意代码的风格,适当的时候加点注释,尽量写出能借几个情况的代码。最忌:题目没写出来,还被面试官嫌弃代码风格不好,毕竟你想想(这个人招进来要一起写代码的,你写的风格不好,不容易看懂,他心里也不愿意啊)
以上就是我想分享的啦,现在互联网公司不好进,尤其是大厂的好部门不容易进,所以希望能给大家一下思路和想法,当然是临时有想法写下来,如果大家愿意讨论,后续欢迎留言。
顺便打一个广告,今天字节跳动分部门招聘,我们这边是字节跳动的互动娱乐部门,介绍:
【抖音研发2021届秋招正式启动】
😊 我们是字节跳动互娱研发部门,负责抖音、抖音火山版、直播、音乐、影像等多款明星产品的研发!
😄 HC多多,北京、上海、杭州、成都、深圳、广州各大城市等你!8月3日起即可投递!
😊 我们是字节跳动互娱研发部门,负责抖音、抖音火山版、直播、音乐、影像等多款明星产品的研发!
😄 HC多多,北京、上海、杭州、成都、深圳、广州各大城市等你!8月3日起即可投递!
如果想投递,欢迎大家入微信群(hr,研发都在群里了),这个链接-> https://sm.ms/image/dqYGObaTZR2mVQ8 现在吞ma。
如果想和我聊更多,社招/实习/校招都欢迎,想沟通,想咨询都可以加我微信:cr452460269
我十分愿意和大家沟通技术问题,讨论招聘面试题等~
全部评论
(0) 回帖