面试经验 | 第一次面试,面试官:“你真卷,连这个都能背会”
1. 面试前的忐忑
万事开头难,面试也不例外。我本科时成绩还算可以,就直接保送了研究生,这就把我找工作的进程直接往后推了两年,直到研二的下学期我才经历了我第一次正式的面试,并且第一次就挑战的是字节跳动这个被大家广为流传的“面试造火箭”的公司。
我向来心态不大好,以往每到关键节点前就会睡不好,吃不好,这次也不例外,不知道有多少小伙伴和我一样。
于是我面试头天晚上意料之中的睡不着,失眠的我内心戏十足、我是转行到后端开发,对自己本身就没什么信心,还挑战的是字节跳动这个号称工牌厂的公司,面试官会不会觉得我啥都不会,是不是会出hard级别的算法题?万一我连编译都编译不过去怎么办?
越想越睡不着,越睡不着越想,于是干脆就起床继续刷几道题吧。。。
2. 临时抱佛脚真的可以缓解焦虑
从小我们就知道,但凡大型活动在举办前,都会进行彩排(大到春晚,小到学校的颁奖典礼),经过这次的事情才知道,如果你将要做的事情很重要,但你又没经验时,一定要从头到尾演练一遍步骤,走一遍流程,因为你永远不知道会碰到什么问题!其实开发也是一样,先staging环境开发,在真正上线前再PRT环境验证,这些都是在降低真正作业时出问题的概率。
话说回来,我平生第一次面试,所以对面试要用的平台、编译器等都不曾熟悉,我就打开了邮件中的面试链接,想自导自演,按正式的面试流程演练一遍,这样到时候就不会出现非自身能力因素的问题了。
打开链接才发现,这不是老朋友牛客平台么,但我是第一次用,点来点去只是个面试框框,半天也不知道到时候面试流程该怎么走。直到我在牛客里看到了有“AI模拟面试”这个功能,点进去之后才发现了新大陆。
点开之后,直接突如其来的铃声差点没把我吓死,如下所示,所以告诫大家晚上在寝室一定要把电脑静音,不然一是打扰舍友,二是容易把自己送走哈哈哈哈哈。(牛客的产品经理大大求放过,没有觉得这个功能不好,因为面试这个大事儿不能耽误,铃声自然是越大越好,是我自己没注意音量)
于是戴上耳机我开始跟着模拟面试的流程一步步走。嗯,刚开始是八股文,和我看的面经一样,我就在心理念着答案,直到遇到算法题,是一道非常简单的二叉树,但我在coding时似乎没有代码补全,于是我就有点小担心,以往写项目代码时都是有代码补全,因此有些api根据提示之间诶打上去也就过去了,自己也没刻意的去记忆,要是到时候忘了咋办?
其实现在回过头来看看,自己完全没必要担心这方面的问题,只是当时第一次面试,现在也可以理解当时我自己内心的忐忑。因为在实际开发中用的都是ide,为了提升效率肯定是有代码补全的,程序员也都是人,不是神,肯定没办法记住那么多api的,只要基本的知道就可以了,实在忘记的话,和面试官大大方方的说自己忘记了也不是什么扣分的地方。
流程全部走完以后,我心中也大概有数了,也少了几分焦虑,舒舒服服的去睡觉去了。后来的面试经验告诉我,面试平台都大同小异,如果是第一次面试前紧张的话,就可以使用牛客这个AI模拟面试来走一遍流程,并且也有面试打分机制(虽然我没有用过这个功能,因为后来面试慢慢多了起来,就不用AI模拟面试了,以实战代练了属于是),大家如果八股文和题刷的差不多了,就可以多在上面走几次流程,缓解一下内心的焦虑。
3. 自我心理暗示,减缓紧张情绪
之前提过我自己是心态很不好的,之前高考的两天都没怎么睡得着觉,很影响发挥。
这次面试前虽然我也是很紧张,所以我一直在给自己心理暗示:
- 高考当时紧张,是因为高考只有一次,但面试不是,这一家挂了还有下一家,实习挂了还有秋招,秋招挂了还有春招,大厂不行就去小厂。总能找到工作的!不用太紧张!
- 如果遇到不会的八股文,大大方方说自己不了解就可以了,不要瞎说乱说!不要败坏印象!
- 如果算法题不会,不要轻易放弃,让面试官稍微给点提示,能写多少写多少!一定先把思路说出来,不要让面试官觉得你是背题!
4. 面试中的插曲
其实面试整体和AI模拟面试的流程都差不多,只不过在面试官给我出算法题时,第一道题也是出了一个二叉树相关的题,但有些许不一样。面试官出了题之后,左边是题目,而右边代码编辑器里只有下面这段代码。
public class Solution { public static void main (String[] args) { // 判断平衡二叉树 } }
因为平时我们刷题都是核心模式,包括面试前天晚上的AI面试训练也是核心模式(就是不用自己定义“树”“链表”等数据结构的模式,也不用自己写case),所以一开始让我自己定义输入输出,自己定义数据结构,我还是有点懵逼的。但经过面试官一步一步引导,还是把这道题给写了出来。
如果是非核心模式,需要额外注意三个点:
- 定义数据结构(这一点可能科班的同学更熟悉,但非科班的同学就需要多加练习)
- 定义输入case,直接在代码里构造输入。
- 把输出返回,Java就用System.out.println() 即可。
5. 来自面试官的肯定
这一关过了之后,面试官就又出了一道稍微上了点难度的题,应该是数字字符串转整数那道题,需要考虑越界。这道题直接出到了我的心坎里,因为这道题有一个题解里,在考虑越界时,直接使用了 2147483647 这个int类型的最大值,这个数字我记得再清楚不过了,因为之前用过的手机号就包含“7483647”这几位,所以我直接在代码里把这个数给写上了。面试官看了直呼牛逼,说你连这个数字都背会了,太卷了哈哈哈哈哈哈哈。当然后来在实习过程中,我才知道这种做法往往不可取,因为这种魔数是不推荐出现在代码里的,一般都用静态数据代替。但在当时的情形下,还是感觉装到了。
6. 后记
回到刚开始提到的,万事开头难,众人眼中的大神,offer收割者都是从小白过来的,都是经过千锤百炼、面试的多了自然就找到门路了。所以不用害怕第一次面试,干就完了。
本文正在参与 【实习出道计划活动 】!欢迎一起来聊实习那些事,赢京东卡、牛币、名企联名工牌奖励吧 ~
#实习面试初体验##春招##实习##面经##面试流程#