魔幻的2020年,请程序员们收下二哥这份秋招建议!
共 4084字,需浏览 9分钟
·
2020-09-10 23:06
金九银十,又到一年秋招季。这场规模巨大的校园招聘,承载了近千万毕业生的梦想。不过,在这特殊的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 —
------------------
CSDN:沉默王二
bilibili:沉默王二
知乎:沉默王二
这是一个有颜值却假装靠才华苟且的程序员,你知道,他的文章风趣幽默,读起来就好像花钱一样爽快。