昊明有态度|你距离通过亚马逊面试还差多少?( 二 )


昊明有态度|你距离通过亚马逊面试还差多少?
文章图片
如何准备编程面试
水滴石穿 , 必费时间
在被许多公司拒绝简历后 , 笔者几乎确信自己将会毕业即“失业”了 。 尽管如此 , 笔者还是明确了个人目标——不惜一切代价进入Facebook、苹果、亚马逊或谷歌 。
我给自己设定了一个挑战——每天解决一个编码问题 , 直到我得到面试机会 。 等到第二年招聘期到来时 , 我已经做好了充分的准备 。
这还不够 , 得有一种方法让自己坚持下去 。 笔者决定创建一个YouTube频道 , 每天上传一个视频 , 在那里解决热门的编码问题 , 并详细解释方法 。 这样不仅能在解决许多困难问题的过程中受益 , 还能提高了沟通和检验解决方案合理性的能力 。
在哪里找到可以练习的编码问题
1.Leetcode
如果你曾为编程面试做过准备 , 那么leetcode.com这个网站你肯定不陌生 。 截止到写这篇文章时 , 上面有1485个问题——所有问题都按主题和难度分类 , 它还会为高级用户专门提供特定于特定公司的精选的问题列表 。
如果想认真复习 , 我认为Leetcodepremium是最好的资源 。 我90%的准备工作都是用leetcode完成的 。
昊明有态度|你距离通过亚马逊面试还差多少?
文章图片
图源:unsplash
2.AlgoExpert
AlgoExpert上目前有100个独特的问题可练习 , 所有问题都按难度和主题分类 。 创始人克莱门特为每一个问题制作了深入的视频解释 。 他解决每一个问题的方法都是先实现一个简单的解决方案 , 然后再改进到一个更复杂的解决方案 。
他的解释是互联网上最好的解释之一 , 笔者使用AlgoExpert来解决在Leetcode上无法解决的棘手问题 。
3.其他
下面这些网站上也可以进行练习 , 但是我自己没有用过:
·Hackerrank
·GeeksforGeeks
·CodeSignal
如何有效使用Leetcode
从Leetcode开始可能会有点儿难 。 前10-20个问题没有快速的方法 , 但是笔者学到了一些技巧来 , 可以帮你最大限度地利用在网站上的时间 。
1.不要试图前进太快
至少在前30-40个问题时坚持简单的问题 。 简单的问题也并不容易 , 所以遇到困难时候不要难过 。 如果试图前进太快 , 很可能会因为不知所措而放弃 。
2.寻找每个问题的秘密
在leetcode上解决一个问题时 , 试问自己:有什么知识可以让这个问题变得更简单?例如它可能需要使用特定的数据结构或特定的搜索算法 。
你不会记得解决每一个问题的每一行代码 , 这不现实 。 但如果试图在每个问题中找出一个核心原则 , 那么你最终会发现它们的相似之处 。 当遇到一个新问题时 , 问问自己:这和解决的其他问题有什么相似之处?
3.不要使用冗长的编程语言
使用诸如python这样的编程语言可以集中精力解决问题 , 而不是在单调乏味的语言语法间纠结 。 大多数面试官都会要求选择一种语言 , 所以使用喜欢的语言练习是非常重要的 。
4.始终分析算法的复杂性
面试时你会被要求分析代码的时间和空间复杂性 。 记住 , 练习得越多 , 就越容易应对 。
最后
一个月以来 , 笔者每天都在YouTube上制作一段视频 , 后来突然收到了一份现场面试邀请 。 准备的时间只有5天 , 笔者陷入了极度兴奋和紧张之中 。 这时不可能再保持每天只回答一个问题 , 我需要加快速度 。
所有的大学作业都搁置在一边了 , 在接下来的5天里 , 从早上10点到晚上7点笔者一直坐在图书馆里磨leetcode 。 虽然很无聊也很累 , 但笔者不在乎 , 因为对自己的目标很清楚 , 对自己的能力很有信心 。
昊明有态度|你距离通过亚马逊面试还差多少?