北美求职:面试总结分享
北美求职:面试总结分享
篱笆资讯
北美求职:面试总结分享
本篇和大家分享一个老生常谈的面试技巧,simplify your problem,希望对大家求职有所帮助!

首先一般都是遇到那种hard的题, 你需要简单化问题。而且很多时候因为是难题, 导致没办法在规定时间内完成代码。

有几种情况:

1. simplify test cases。 
不知道大家有遇到过没有,有时候面试写代码的时候, 明明主题逻辑写的很不错,但是因为某些test case就是很恶心,那些special handling 却需要花你很多时间,甚至worse case 因为这些edge cases, 你需要修改你的主题逻辑。 这种情况下最好提前先和面试官讲清楚,说先focus on 主体逻辑,那些edge case 你可以主要靠描述你觉得怎么处理, 尤其是很多时候你的时间不一定够, 你完成了主题逻辑,并且清晰的表达出你对这些special case的看法,大多数情况下就good enough了。 毕竟是hard 题, 正常的面试官也不一定非要要求你完整的写完所有代码。 这样做的好处是,有时你自己可能可以理解并表达出一个solution,但是落实到写代码的时候会遇到这样或者那样的expected issue,而这样做可以减少在面试的时候暴露这个确定的几率。

2. 一个hard problem可以有几个step。 
逻辑和上一条一样,还是完成重要的step,一下相对次要或者简单的step可以看时间而定。

3. 某些情况下看是不是可以尝试修改题目。 
举例比如serialize binary tree那道题,LC是node的val是 integer, 而面试时候可能面试官会说val是string, 对比lc的原题,会更麻烦。 修改题目并不是说真正的跟面试官说我要改题blah blah的, 而是想办法表达”if i can solve problem A, then problem B can be solved, because I just need to add some extra logic" , 所以可以尝试跟他说,我理解了题意, 那我可不可start with integer, because if i can solve that, then the string one is just a different type, plus some extra special cases that i need to handle". 大多数情况下面试官都会允许, 然后当你写完你的simpler problem, 尽量多聊聊你想到的test case。在时间不够的时候,这些都是会加分的。

总结一下,首先这个心得试用与当你面试时候遇到那种tricky的题,你可能甚至完全没有思路,或者你可能有思路,但是基本上没什么信心完成你的代码。当然如果你很有自信能回答的很好,那就按部就班的写代码就好。

中心思想是你尽量完成你能完成的部分,剩下的比较难的part就尽量以聊为主,稍微拖一拖时间也OK,不一定非要百分之百的完成。 一般面试官对于难题的看法是更看重你的思路,如果你的思路表达清晰,就算是真的没写完代码也OK。

最后强调一下, 如果你可以完成代码, 当然还是完成更好。
coffee 直连行业大牛导师,1v1模拟面试与求职指导
mentors
airplay 实战与求职精品课程
数据科学
软件工程
人工智能
金融商科
产品经理
产品设计
bookmark 2000+名企面试真题
amazon google tiktok microsoft meta