双非本科找实习准备过程(获鹅厂offer)

@双非本科找实习准备过程(获鹅厂offer)

实习准备过程and反思

大一懵懵懂懂的我走进了计算机的世界,当时什么都不懂,虽然还是认真的学习基本课程,但只是表面的学习,比如C语言,因此自己就错了ACM的机会。后来到了大一下又因为自己懒错过了几个学校比较好的工作室招新的机会(有一个虽然是进了,但短时间需要补的东西太多又放不下学校基本课程的学习,最终错过了机会)。此时到了大二,我还算是比较有意识需要找一些项目做一下,但是一开始只找到了一个C#项目,但是师兄是自动化的不懂什么编程,基本上都是我自己来写,最终也就不了了知。到了寒假,听了师兄在大厂实习的好处,我才开始算认真的学习JAVA(跟着b站里学习视频,照着打),一个寒假下来还算有所提升(当时自以为算得挺好)。就这样大二下学期到来,一边看视频一边学,找工作室的愿望也越来越重了,最终去到了计网老师的工作室。因为学校有JAVA课程也就有了课程作业,当时以为自己学了小半年JAVA了,写个作业还不容易嘛,结果到了最后还是从网上copy下来交了。现在想想其实自己根本就是在背书一样背了JAVA的技术,要使用组合起来根本无从下手,所以自己看网上照着写的Demo,如果没有好好的理解,那只能算是了解,算不上懂,并且很快就会忘记如果不复习。就这样我来到了大二暑假,因为进了工作室就整个暑假呆在实验室,当时老师给的项目是一个关于复杂网络最短路径的算法(类似图中任意亮点最短路径),基本上每天早上9点多到晚上8点多,那段时间我其实是早上看一些自己的本方向的书(高并发,JVM等,我为啥会看这些书呢,当然是问那些走JAVA后台的师兄师姐),下午就开始做项目,这样持续到8月中完成整个项目。到了大三上学期,听到师兄师姐们拿到了大厂offer及下学期春招就开始了,自己就知道需要紧张起来了,就开始每天复习准备,那时的准备在我现在看来最多只算是预习(哈哈。。。),我还记得19年11月初问头条的师兄,寒假能不能内推,他说可以给简历就好,原本定在12月中给他,当真正到来的时候自己却没有勇气投,就这么放弃了。当时担心万一寒假实习投了没过会不会影响春招,最后就没投。到了12月底,实在是憋不住,当时觉得自己已经学了很多,应该可以投了,然后就在牛客胡乱投了几家,还记得当时紧张的一批(现在已经看到可以投就点了,内心毫无波澜)。现在看来,其实好多人和当时的我一样,不敢投,原因或多或少觉得自己学习得太少了,没有好的项目,没有好的奖项,没有自信。这时恰好是数据库作业,然后我决定自己独立完成这个大作业,然后慢慢改进,最终写进简历,就是这个项目给了我很多难题,但也给我走出第一步的信心,以前都是看着案例来写,这算是自己设计思考的项目。虽然投了几家简历,但到现在为止也都没有面试上(哈哈,我也不知道为什么,可能在某些APP网站上的招聘信息不准确或者公司的HR不看吧,建议还是直接去投官网,快)。
我觉得真正的准备是从这个项目之后的,我不知道从何复习起,就买了一份JAVA面试精选的专栏,然后一边看一边背,但是我发现过了几天前面的知识却忘记了又跑回去看,就这么循环往复,收效甚微,我是通过看面经的时候发现明明是我前几天背过的,现在怎么说不上来呢,几次之后我就知道理解才是最重要!就这么我开始从这些知识点一个一个开始看,碰到哪个不会的,我就去找博客视频,就比如学volatile的时候,分为几个阶段1.它能保证有序性和可见性(特点)2.知道了有序性和可见性到底指的是什么也即是概念(有序性和可见性是在刚开始学线程的提及,当时也不会注意这些)3.volatile是怎么保证有序性和可见性(冲刷缓存器)。在看面经之前我基本上对所有知识点的了解都是第一阶段,看了面经之后我开始进入到第二阶段,到了后面也就是2月底的时候,我看自己进的一些学习群上讨论的,渐渐的知道了对底层原理的重要性,此时我就进入了第三阶段的学习。从那时候开始,每一个知识点及相关的知识都会从底层进行了解,并且在开始的时候我会口述每个知识点的原理(这其实很重要,可能我自己嘴笨吧,因为我后面面试的时候讲解知识点时,你可能因为紧张就会口误等,如果你之前练过就不会出现这样的情况,并且在我面试的时候,越简练且精准的回答是越好的,但一定要精准,我认为面试短短几十分钟,会有一些面试官是往广度去问你,你能短时间的回答它就会问下一个,就这样他能在短时间知道你的知识范围在那里,还有一种是往深度去问你,对于广度这种能短时间答得多那当然说明你其实是不错,对深度这些一问便知道你的底牌是啥了)。一月份开始,我就开始慢慢的看剑指offer这本书的算法了,当时真的就是背(虽然是理解了),直到2月初我才慢慢的写leetcode,当时还不懂,以为写过了就算了,不注意时间和性能(基本上简单就是O(N^2),难的就超时)后来才慢慢的意识到这是不对的,然后就看题解,然后我又进入到了不懂就看就背的死循环,直到我去模拟笔试的时候,我看到了自己曾经写过的竟然写不来,那时我才懂得一定要有自己思考的过程,超过限定时间在去看题解,然后隔天在练,这样才能保证快准。
到了三月1号,我开始选择海投,无论是什么公司能投的能内推的我都点了,就这么一天一周十天过去了,一点消息都没有,那时候就有点失望了,直到有美团的笔试通知,心情才好点。现在想想其实是当时投的简历写的太烂了,后来改过之后,确实比之前好多了,简历是要好好写的,慢慢改进,怎么写我就不介绍了网上挺多。笔试通知之后,被师兄直推的腾讯部门面试通知也来,那时我既激动又紧张,毕竟是我第一次面试。之前的策略是先从小厂面试积累经验在面大厂,结果一上来就是大厂,没办法你只能硬着头皮上了。我还记得面试的时候很紧张,讲解某个问题的时候不知道怎么结束(也就是该讲多深多广,没办法控制自己的节奏),懂得东西讲得很急很大声讲得不全,不懂的就只能小声说了解,解答情景题时以前虽然看过,但差点因为紧张而没有答出来,整场面试下来,我上身湿透了。这就是我第一次面试的经历,你们可能会笑我,咋这么夸张呢?这确实就是我当时的情况,还好最终是过了,当时我非常开心,因为这在我心里给出对自己的肯定与自信,自己还是可以的。接着就到了腾讯TEG初试,总体表现会比第一次好多了,但最终挂了,当时还蛮沮丧的,接着就接到了蚂蚁,头条的面试通知,幸运的是我被腾讯音乐部门挖了在面,由于运气好,也就最终通过了。差不多十几次大厂面试不算多,也可以总结一些
1.面试的时候最好准备录音笔什么的用于复盘因为很可能这些知识你后面面试会用到。
2.要一直保持好写算法的状态时常复习之前写过的,这样即快又稳,当时我上来就给了5道算法题,还好我都覆盖道了也都很快写出来,自信心就从这来了,后面其实有挺多描述不好的,最终也过了
3.如前面所说,回答问题尽可能精简准确,解释的时候可以结合实际生活的例子,这样会让面试官觉得你是真的明白这个知识点,多练练口语表达很重要
4.调整心态很重要,尤其在面试过程中,往往会因为前面的表现影响后面的回答,这是建议你只专注当前问题,忘记前面的表现,这很难,却挺重要的,我头条就是因为前面没做出算法题,然后后面面试就崩盘,信心没了。
5.真诚,懂就懂,不懂就不懂,不然往深入问你,你不会就会让面试官对你影响很不好,你可以说我没了解过,或者说我只是看过他的概念。
6.坚持不放弃,面试笔试什么的,真的很挫败人,你只有坚持下去不断学习,不气馁,才能最终成功(如果是大神,一次就OK,那就没必要看了)
7.实力+运气==成功,运气真的很重要,有时候我学的知识点一个没问,没学过却又相关的知识点又知之甚少,那么这确实就很凉,如果你运气好面试官问你的都懂那么就很稳了。
8.说了那么多,其实就想说,对于大部分像我这么普通的学生,应该勇敢的投出自己的简历且是海投,珍惜每一次面试机会,准备充足,保持好状态。
面到现在,我最大的改变就是,我现在基本上不慌了,而且对于每个知识点我都握有主动话语权(尽管有些不懂)可以很好的描述自己懂的。可能面试多了,自己也自信了,面试多了自己也见过说过也不怕了,现在能说是游刃有余了,你能和面试官技术面的时候说得就像在聊天一样,我觉得你就稳了。
最后也给出师弟师妹们一些建议吧,还是要好好的学习学校提供的课程,然后课余时间好好学习自己走的方向的知识,虽然入门很难,但也不要放弃,虽说前面的学习更像是预习,预习过后面回头看你就会懂更多,温故而知新,平时学习的时候可以先看视频/书籍,然后一段时间在看书,这样很多书中的细节你都会看得到,而这些细节往往是面试中会问到,而又被你往往忽略掉的。对于类似实验室和工作室,建议能加的尽快加进去,首先可能有项目做,其次最终要的是能提供一个很好的学习环境,曾经天真以为在哪里不可以学,只要自己想学,大一的时候还能坚持在宿舍学习,到了大二在宿舍基本上不可能学习,环境以及导师给的时间线,这就让你不得不坚持下去,最终才能安心的好好学习,孟母三迁不也一个道理嘛。绩点/奖学金/编程相关比赛奖项都是加分项,都能在简历筛选或者自我介绍给别人加分的机会,绩点真的有用,别听某些师兄说绩点不重要。
给同龄人一些建议,或许我还没有资格,也有同学问到我怎么准备实习,我就说说吧,我也就知道一些后台需要准备的东西。数据结构是写算法题的基础,刷题网站(leetcode/牛客等),唯一秘诀多练多写多改多进步。计网计组操作系统可以直接去看网上面试大全面经等。数据库索引这些就不多说了,还有基本的操作也不多说了。Java基础知识,集合类(很喜欢问源码尤其是Map),线程池,JVM内存模型,垃圾回收算法/器/过程,类加载过程,类加载器,再问高并发下的各种锁(当然可能会包括数据库隔离级别及实现,行锁表锁等),各种关键字的底层原理等。然后还会问web相关的,HTTP各个版本,HTTPS/HTTP区别及各自实现原理,web安全问题(XSS,CSRF,SQL注入,DDos等),还有对称非对称加密算法,session/cookie/token会话状态,ajax等技术,可能还有很多但是这些能涵盖大部分面试题了。
最后就是勇敢的投出自己简历,confidence,successful。

发布了2 篇原创文章 · 获赞 14 · 访问量 540

猜你喜欢

转载自blog.csdn.net/weixin_41917988/article/details/105326629