金三银四,暑期/日常实习准备最佳实践
计算机面试知识学习网站:https://www.csview.cn/
背景:C9计算机本硕,刚参加完22年秋招
01 金三银四,请把握住
都说金三银四,现在是投暑期和日常实习的最好时间,各大公司陆续也发出了岗位招聘需求。如果你今年想去实习,建议在三月或者四月投递。对应时间节点和招聘难度是这样的:
- 三月:HC最多,投递起来相对容易,开放投递的公司还走面试过场刷KPI,那就是真岗位紧缺不想招人
- 四月:三月招收了大量的人但是可能没招满,另外有的企业也会在四月开,机会很多
- 五月:基本不招或者停招了,这个时候只能投日常而且得看公司有没有需求,可以说纯看运气
所以今年找实习的同学这个时候应该准备甚至冲刺一下,做到在四月中下旬之前投好简历。
02 找实习,没你想的那么难
很多同学担心自己面试不过,也不知道自己定位,更不知道自己如何准备。但是我想说的是找实习要比正式找工作面试容易很多,比如面试可能整体少一面,再一个就是问的东西也不会太深。
想想我们去年找实习,简历做成这个水样子,基础知识也学的一知半解😴,最后大部分也都上岸了,所以大家只要按照下面的内容好好准备,自查一下,还是可以有很大概率找到实习的。
03 如何快速准备+突击面试
如果你问我如何系统学习计算机知识,我不好说,但至少要半年左右,不过等半年时间秋招都会来不及。如果你问我高效准备面试需要多久?我可以给你一个大概的时间,1~2个月,不用再多了。
面试就跟你大学期间的考试一样,花再多的时间也没法弄得面面俱到,不如复习一些常见题,最大程度增加自己的通过率。
当前我接下来说的方案有一定的适用条件:
你有计算机知识技术的基础,并且至少会用一门常见的编程语言。
在这个前提下,再去准备算法、计算机基础、项目。不然面试官问你一道像栈和队列有什么区别的问题、TCP和UDP在哪一层之类的问题把你问住了,你可能会被这家公司永久拉黑🙃。
算法
这部分准备时间最长,没什么好的办法我们只能需要慢慢理解+堆时间,很多算法大神也是一步一个脚印过来的。从面试角度来说,学算法的性价比最低,不过没办法,算法写不出来前面说的再好也白搭。那么学到什么程度可以去准备面试呢?这里给一个标准:
面试中出现频率最高的100题要会做,这是基线,最好是会做150或者200道题。
200题其实就可以,不用再多了。我们都知道边缘递减效应,一分钱可以买一分货,五分钱只能买两分货,超过200题你需要掌握它投入的精力和面试带来的收益会有很大的折扣,所以我不建议贪多。
这100多个题要做到举一反三,比如:反转链表迭代和递归方法是不是都会写?二叉树层序遍历会不会写递归的方法?
我们总结了130多道高频面试题:
链表(18题)
树(20题)
栈和队列(8题)
字符串(11题)
数组(12题)
动态规划(16题)
DFS(3题)
回溯(5题)
手撕(6题)
其他(25题)
计算机基础
主要是数据结构、计算机网络、操作系统、数据库。这部分是能速成的知识,虽然课本上问得很深很繁琐,但是面试的时候就是万年八股。直接背,但是别傻乎乎的死记硬背:
有的时候真不知道你们从哪里弄的一堆八股文PDF,动不动上百页几万题,不要说准备面试了,这估计你从入职到被辞退也看不完😓,而且你大概率弄了几天之后也会发现行不通。比较有效的方法就是在你学习对应的知识之后(最起码知道他说的是啥),对着高频题和面经看,这样做能让你得到面试的直接反馈,帮助不断学习新的知识和方便进一步深入。
还有就是不要死记硬背,死记硬背真的很绝望,你背不下来,面试也发挥不出来。有效做法应该是反复的读,形成自己的话来加深印象,看三遍不如读一遍。
计网面试题:
操作系统面试题:
数据库面试题:
数据结构我们没总结是因为面试大部分内容都是课本所学,相对简单,日后有需求再弄。
项目
项目认真选一选,最好跟你的岗位投递直接相关,内容上做到和岗位匹配。
如果没项目+零基础,这个时间节点不建议从头开始一行一行敲,节约时间还是从Github上下载一个面试高频项目,然后一行一行读代码,了解设计思想和所用的技术,改进可能存在的不足,把它内化成为自己的项目。
如果有课设项目或者实验室项目就好好包装一下,实在包装不动还是去Github上面弄一个。
在准备项目的过程中你可以不断给自己挖坑,针对这个项目自己给自己提问,想想面试官会问什么内容,按照这个思路再总结下去,可以让你零基础速成一两个项目。
编程语言基础
C++和Go的同学其实语言基础相关的问的很少,建议这两个方向的同学将更多的经历放在项目和计算机基础底层原理上面。Java真的多,堆时间慢慢看吧。
中间件
这部分Java的同学看的多一点,没法说面试会问什么,都是简历和项目写了就问,不写一般也不会提,此外跟你投的岗位也有关系。
中间件里面我只推荐学一学Redis,开发很常用,不仅要会用还需要搞清楚原理。其他倒是实际使用大于理解原理,学习准备就按照热门技术和你需求来,时间不好估计,我当时学Docker等中间件大约是平均一周一个,还有Zookeeper、Nginx、Kafka啥的。碰上K8s这种难学的我大概学了一个月😭。
04 准备时间预估
最后我们估计一下时间和应该有的学习计划:
- 算法150题:有刷题基础每天1~3小时一个月可以看完,零基础每天需要投入2~5小时。不过算法是一个渐入佳境的学习过程,越到中后期刷的越快。
- 项目:选定项目+读代码+逐渐理解,平均1~3周一个。
- 计算机基础+语言基础:一天读1~3小时,一直读到面试之前为止。
- 中间件:从安装到使用1~3天一个,系统学习一周一个。
- 每天找一篇好的面经深入研究
以上的方案都是并行执行的,之前做过了现在就可以少学一点,根据实际情况进行调整;之前没做过就尽快准备起来,减小自己的时间沉没成本。把上面的内容做好了你可以再去补充一下设计题或者将知识往深了学。
#实习##暑期实习##2023届校园招聘##招聘##准备面试#从面试准备到面试思想多方面介绍计算机校招,希望带给你不一样的见解。