第一次当面试官,说几点不成熟的建议吧
金九银十,又到一年秋招季。这场规模巨大的校园招聘,承载了近千万毕业生的梦想。不过,在这特殊的2020年,这场秋招也变得非比寻常。
本周,我们公司的校园招聘也正式启动了,我担任了3天的二面面试官。这是我毕业8年后,第一次以另外一种身份参与到秋招中。
虽然没有应聘者的那种压力感,却能深深感受到他们身上的紧张、诚挚和渴望,当年自己参与秋招的画面也历历在目,甚是感慨。
这篇文章,我将结合自己的亲身感受,从面试官的角度给出些建议,希望对正在参与秋招的莘莘学子们有所帮助。
— 1 —
— 2 —
“一个单链表,从高位指向低位存储一个大数,每个节点表示这个大数的其中一位(取值范围从0到9)。题目要求:对这个大数进行加1,输入和输出都是单链表,时间复杂度和空间复杂度尽可能低。
候选人:这题简单,遍历到最后一位加1就行!
面试官:你再想想,还有什么情况没考虑到?
候选人:哦哦,最后一位如果是9,要处理进位问题,我再想想.....
候选人:我能用数组表示吗?这样进位就好处理了
面试官:那你数组大小怎么定呢?
候选人:嗯... 我可以先遍历链表,得到链表长度
面试官:然后呢?
候选人:那就简单了,链表转成数组后,先对数组加1,然后再将数组转成链表返回就行。
面试官:空间复杂度太高了,有更好的解法没有?
候选人:我再想想....
候选人:能给点提示吗?
面试官:链表是从高位指向低位的,但是进位是从低位到高位的,如何解决这个方向不一致的问题呢?你朝这个角度想想
候选人:哦,我知道了,可以将链表反转
变量命名和方法命名体现了你的编码习惯,一定要注意规范性,做到见名知意。
将重复性的代码封装成子方法,比如上面的链表反转。
复杂逻辑拆解成多步,每个步骤封装成独立的方法,方便维护和阅读。
可以适当加些注释,对特殊逻辑进行解释。
写完代码,一定要写个UT或者Main方法,测试下各种case,而不是等面试官提示你写测试用例时才想起来。
Talk is cheap, show me the code. 编码能力是真正拉开应届生差距的考察点。因为Coding的过程能充分体现你的基本功和逻辑思维,而这两点恰恰是面试官判断候选人是否有潜力的重要依据。
— 3 —
5、让面试官给你建议:秋招是一场持久战,面试也看缘分,没面好不代表你就不行。如果能认识到这一点,在最后的提问环节,你可以让面试官针对你的表现给些建议,这是你越面越顺的最好方法。
— 4 —
文章整体目录
如何获取
很简单,在我的微信公众号 帅地玩编程 回复 程序员内功修炼 即可获取《程序员内功修炼》第一版和第二版的 PDF。
推荐,推荐一个 GitHub,这个 GitHub 整理了几百本常用技术PDF,绝大部分核心的技术书籍都可以在这里找到,GitHub地址:https://github.com/iamshuaidi/CS-Book(电脑打开体验更好),地址阅读原文直达