【面试】coding interview

另一系列悲剧..不小心按到上一页..
感觉这篇还少了点什麽?

如果平常只用过 Leetcode,建议先熟悉平台

我第一次面试的时候还蛮慌张的,
才知道原来我根本没有机会跑跑看我的 code 会不会成功XD

  • 多人协作 online IDE
    但我忘记名字了QQ
    主要这些平台就像一般的 online IDE,但是面试官可以在上面一起打字,
    可能有 function 提示也可能没有。
  • Google docs
  • HackMD

综合几点,比较保险的话:

  1. 不要忘记 syntax,平常写 leetcode 会查的话要自己注意,背起来!!
  2. 要能写完整的程序,不像 leetcode 是写个 solution,外面会帮忙 call
  3. 能够自己写测试 function、想测资

厘清面试官的问题

虽然有些公司会直接用 leetcode 题目,
但也有会先丢个不太清楚的问题希望你能够展现沟通技巧的。

重复或 rephrase 面试官的问题

帮助缓和情绪、开始思考

问清楚 constraints

没有问清楚 input 的限制,很容易写出不够完善的程序。
就像平常写 leetcode 我们也会去看 constraints,依据需求可能会有不同的写法。

要讲话要讲话要讲话

如果不讲话,面试官会很无聊,可能会一直打字让你更紧张,而且面试的录音只会听到打字声XD
所以要训练自言自语能力

不用一开始就坚持要想出最佳解

先丢出一个方法,分析这个方法的时间复杂度 / 空间复杂度,并想几个测资
就算是最 naive 的爆破,如果还没什麽好想法,也先讲出来。
再去思考是否可以改进。

想清楚、得到面试官同意再动手

一定要与面试官讨论,得到面试官同意後才开始 coding
比起边写边改,面试官更喜欢「想清楚才动手」的面试者,
因为如果未来工作也是边写边改效率会很差。


<<:  Day 27 - axios

>>:  浮点数和整数的计算,Ruby 30 天刷题修行篇第十三话

Day01:从规划开始

前言(作者碎碎念): 大家好我是小精灵,我是个菜鸟工实习生兼研究生,第一次参加铁人赛 想藉着这次的铁...

Day15 第十五天才介绍学习路径是否搞错什麽

本次预期会写一下的题目介绍 渗透测试基础 关於渗透测试/过程 工作和职业机会 练习 基本环境安装 V...

[Day7] 提升

何谓提升(Hoisting)? 提升(Hoisting) 其实主要是为了厘清 JavaScript ...

中国银行长城跨境通VISA/万事达国际借记卡申请

中国银行长城跨境通卡,产品全称中国银行长城跨境通国际借记卡,可能是目前唯一能够自由办理的国际借记卡。...

乐观锁 vs. 悲观锁

ref : https://medium.com/dean-lin/真正理解资料库的悲观锁-vs-乐...