发新帖

【译】面试锦囊

盐汽水真好喝 8月前 50

这是一个直接的,经过深思熟虑的技术面试列表,主要用于算法面试。 其中一些可能仅适用于手机或白板面试,但大多数将适用于两者。 我在每次面试之前修改了这份清单,以提醒自己并最终将这些内容消化掉。

有关面试准备的详细演练,请参阅"Preparing for a Coding Interview" 部分。

说明:= 允许,×= 禁止,⚠️= 视情况而定

1. 面试前

内容
准备笔,纸和耳机。
找一个网络好并安静的场所。
确保网络摄像头和音频正常工作。
要求通过网络语音进行面试而不是打电话;能更容易地发送链接或文本。
熟悉编程语言。
熟悉编码环境(CoderPad / CodePen)。设置编码快捷方式,打开自动完成,标签间距等。
准备面试中常见的问题,并给出答案。
在面试结束时准备一些要向面试官了解的问题
穿着得体,休闲服即可。
保持冷静和沉着。
⚠️如果可能,请关闭网络摄像头。大多数远程面试都不需要视频聊天,只留下分散注意力。

2. 介绍

内容
在一两分钟内用几句话介绍自己。
提些与您申请的职位相关的有趣观点。
面带微笑的沟通,会让你更有吸引力。
×如果花太多时间介绍自己,那么您编写代码的时间就越少。

3. 拿到问题后

内容
在面试官那里重复这个问题。
理清思路,明白面试官提问的目的。
澄清输入格式和范围。 假设输入格式正确且非空,询问是否可以
询问是否可以假设输入格式正确且非空。
解释一个高级别的方法,即使它是一个蛮力的方法。
改进方法并进行优化。 减少重复工作并缓存重复计算。
仔细考虑,然后陈述并解释您的方法的时间和空间复杂性。
如果陷入困境,请考虑您之前看到的相关问题以及如何解决这些问题。
×忽略给你的信息,每一条都很重要。
×直接开始编码。
×没有得到面试官的指示就直接编码。
×使用不太确定的方法和分析。

4. 在编码期间

内容

向面试官解释你正在编码的内容,以及你想要达到的目标。

养成良好的编码风格,统一的间距、相同的缩进等。
以合理的速度书写。

尽可能编写可编译的代码,而不是伪代码。

以模块化方式书写,提取重复代码。

使用一些不需要实现的函数,以节省时间。

使用面试官提供的提示。

展示您所选择的编程语言的掌握程度。

展示数据结构和算法方面的技术知识。

如果你在代码中偷工减料,那就告诉你的面试官,并向他说明在非面试环境中会怎么做(即没有时间限制)。 例如,我会写一个正则表达式来解析这个字符串,而不是使用split()方法。

练习白板编码的技能。
⚠️合理的防御性编码,例如检查空值,空集合等。如果题目明确了输入的有效性,则可以省略。
×
一直保持安静。
×
花太多时间写注释。
×
使用极其冗长的变量名称。
×
不检查复制黏贴的代码。
×
在谈话时打断你的面试官。 通常,如果他们说话,他们会试图给你提示或引导你朝着正确的方向前进。
×
白板上的字写得太大(占用太多空间)或太小(难以辨认)。

5. 完成编码后

内容

扫描您的代码是否有错误,就像您第一次看到其他人编写的代码一样。

检查一个一个的错误。

想出更多测试用例,尝试极端的测试案例。

使用这些测试用例逐步完成代码。

留意您可以重构的地方。

重申代码的时间和空间复杂性。

解释代码中的取舍,并且告诉面试官如果给予更多的时间,那么将如何改进代码。
×
立即宣布你已完成编码。
×
与面试官争论,认为他们可能是错的,但鉴于他们熟悉这个问题,这是错误的几率比较低。

6. 结束面试

内容

问问题。 更重要的是,提出适合公司的优秀和引人入胜的问题! 从这个列表中选择一些问题。

感谢面试官。
⚠️询问你的面试表现。
×
结束面试而不问任何问题。

7. 面试后

内容

记录面试的问题和答案,因为这些可作为参考资料。
⚠️向您的面试官发送一封后续电子邮件,感谢他们给了您面谈的机会。
最后于 7月前 被盐汽水真好喝编辑 ,原因:
最新回复 (0)
返回