近期毕设差不多已完成,现在可以开始补上这两个月见计划写但没写的文章了😉
缘起
还要从去年年底说起。那会儿快放寒假了,大四上学期即将结束。我的时间还算充足,就想着抓紧时间提高一下自己的技术。但是仔细思考过后,发现自己并没有一个擅长点前端还没入门,Java 相对熟悉点,之前做过几个课设都是用 Java 编写 Swing 界面。。。C++ 大一学的,后面再也没碰过,连语法都忘得差不多了。
这就是意识不行的后果啊,很多人四年的状态都是大一自由发挥😳,大二玩到 high 起😎,大三苦逼考研😭,大四浑浑噩噩😑。我还算幸运的,虽然大一大二也是懵懵懂懂,没在技术上下功夫,但是好在后来沉下心来学习,最终有个研究生读。之前听说过一句话,大意是说技术不好的才去读研究生,给自己更多的时间学技术。这话有一定道理,因为现在越来越发现时间真的很少,在工作以后更是如此,想挤出时间学习提高真是难上加难。在学校虽然杂事不少,但是如果你想学习的话时间还是够的。所以在学校期间一定要好好抓紧时间,这不是一句空话。可惜包括我在内的很多人意识到这一点的时候已经比较晚了。
但是种一棵树最好的时间是十年前,其次是现在啊,虽然意识得晚,但好歹还有几个月的时间才毕业,还不快抓紧时间!!!于是从寒假前大半个月开始,我选择了自己相对有那么一丁点优势的 Java 方向,开始学习。
当时想的是寒假找个互联网公司实习,这样进步应该很快了。于是,在过了一遍 Java 基础知识以后,我就开始在牛客网上找实习岗。于是看到了一家公司叫字节跳动,感觉很强诶,抖音都是他们出的。要不先试试这家吧!(现在回想起来,自己真的是 too young too naive,一开始就这么头铁,还是宇宙条,要知道他们的面试难度可是仅次于阿里的。。。其实最好应该先找几个小公司面试锻炼一下,边面试边调整并查漏补缺)
经过精心挑选岗位,最终投了七八个日常实习岗位,有的是后台开发的,有的是服务器端开发的。然而不到半天,就发现自己投的岗位纷纷黄了,简历关都没过,只剩下两个岗位。两天后,突然收到了 HR 的电话,约面试时间,挂了电话以后感觉可激动了!于是立马开始准备面试相关的东西。我先是在牛客网上各种查面经,然后把它们都整理下来,开始像复习考试一样背密密麻麻的知识点,什么 GC,虚拟机,并发与线程啥的,先背起来再说!
然后就看到了牛客网上的同学们对头条面试难度的吐槽,发现原来是这么难啊😵还喜欢考算法,于是又专门把面经里的算法题挑出来百度咋做。还有人说要刷剑指 Offer,但是我只有几天的准备时间,哪有时间啊,只能心慌慌地继续背知识点和百度算法题思路。(现在回想起来,自己真的是 too young too naive,复习可以说是毫无章法,没有自己的计划和安排。一般来说,应该先复习最重要的、最有可能考察的知识点,而不是看面经,因为上面的点太多太散了,有些问题还是根据简历项目问的,是因人而异的,其次算法的练习重在平时积累,临时刷剑指 Offer 也有点帮助,但是似乎头条的算法更多的是从 Leetcode 上找的。。。)
被虐
终于到了视频面试的时候了。面试官是个年轻的微胖小哥哥,比较平和,能看出来是经常敲代码的。(下面说的可能会有点遗漏,但是大部分我都还记得,现在都过去四五个月了!)上来先是一个自我介绍,然后就是两道算法题都不难,但我答得并不好,磕磕绊绊,最后在面试官的提示下才完全答对,手写代码也没完全写对,调试了一会还没调试出来。。。当场就感觉自己凉了😭面试题目如下:
1.给出一个单链表,求离尾节点距离是 k 的节点,要求时间复杂度 O(n),空间复杂度 O(1)
思路:两个指针,一个先走 k 步,然后两个一块移动。注意处理特殊情况和边界条件。
2.给出一个数组,将其向后循环移动 k 位,给出结果,要求时间复杂度 O(n),空间复杂度 O(1)
思路:通过循环让两个元素交换值就可以。注意处理特殊情况和边界条件。
3.有 100 只狼🐺和 1 只羊🐏,狼可以吃草但更喜欢吃羊,现有假设:
(1)狼吃了羊会变成羊
(2)狼是聪明且理性的,都想生存下来
问最初的那只羊会不会被吃
思路:这里面试官提示我如果是两只狼,三只狼会怎样,我还是没想到。后来百度,如果是两只狼,那么羊不会被吃,因为两只狼都知道,如果自己吃了羊,就会变成羊然后被对方吃掉。但是如果是三只狼,那么羊会被吃,因为抢先吃了羊的狼知道,他吃了羊然后变羊,剩下两只狼不敢对他怎样,这一点上面已经说了。
4.解释数据库的索引及其使用场景
5.解释数据库的 inner join , left join
当时感觉就是,看了一大堆网上的面经,准备了很多后台 Java、操作系统、网络相关的知识,感觉问的不到 1 % 。。。而且可以发现,一面中考察的算法并没有那么难,更多的是看你的功底扎不扎实,有没有考虑到特殊情况,能不能完整地实现。还考察了一个逻辑分析的题目,可以说考察得很全面了。只是我回答得不全面。。。
不出意外的,几天以后收到了 HR 的不合适邮件回复。现在想想,虽然一面就被虐,但是我还是收获了很多,知道了自己接下来努力的方向,也见识到了大厂的面试风格。感觉自己还是挺幸运的,因为我的简历其实很一般,能有面试的机会就很好了,没准因为头条缺人,才会邀请我面试。
不知不觉已经写这么多了,这篇先写到这里吧 : ) 下篇继续分享之后的实习经历🎈
网友评论