内容简介:铜灵 发自 凹非寺量子位 出品 | 公众号 QbitAI想要收到心仪公司的Offer,面试过程怎么能不出彩。不知道从何下手也没关系,有人已经替你整理了。
铜灵 发自 凹非寺
量子位 出品 | 公众号 QbitAI
想要收到心仪公司的Offer,面试过程怎么能不出彩。不知道从何下手也没关系,有人已经替你整理了。
Benjamin Rogojan和Shayan两位过来人,在Medium博客中长文整理了软件工程师的面试必备。
在这份资源中,他们将面试必备功课分类整理,并附上了相关知识的图表、文章和视频讲解地址,共计 142个资源 ,在Medium上收获了近2000赞。
先马克,然后继续往下看。
都有啥?
面试问题一般都以“出其不意”的特点为人所知,要想在这个环节脱颖而出,极大的覆盖面是必须的。
所以,这套资源中,也置入了一位软件工程师各个方面的必备素养,共分为14大类,下面分别介绍。
热身阶段:回顾经典问题
面试的问题虽然千变万化,但总有几个为问题出现的概率奇高无比。
Leetcode中第560题,探讨Subarray Sum Equals K的问题,题目和解题思路如下:
https://leetcode.com/problems/subarray-sum-equals-k/
常见的数组中的左旋转问题也经常出现,最快的数组逆置和数组左旋算法不陌生吧:
https://www.hackerrank.com/challenges/ctci-array-left-rotation/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays
公认的简单却又复杂的矛盾交织体 FizzBuzz 问题,据说面试者有90%都会栽在这道题上面……
https://www.hackerrank.com/challenges/fizzbuzz/problem
先学习这些经典问题,面试开场准备出最好的姿态。
算法和数据结构
尝试回答下面的问题进行自测,帮助你知道自己应该重点关注什么:
leetcode第985题,Sum of Even Numbers After Queries,查询后的偶数和。
https://leetcode.com/problems/sum-of-even-numbers-after-queries/
再比如657题,探索机器人能否返回原点问题:
https://leetcode.com/problems/robot-return-to-origin/
类似的问题还有6个,先自测下leetcode中的薄弱之处,然后下一步就是查漏补缺。
算法和数据结构视频
这一部分包含了数十个视频,针对数据结构和算法两部分,附上了各种讲解资源。
部分视频可能需要科学前往,也可以自己按图索骥搜索其他类似资源。
视频画风不尽相同,大多都是免费资源,视频长度也不会太长。
渐进符号(大O符号)
渐进符号用来描述函数渐进行为,在计算机科学中,它在分析算法复杂性方面非常有用。
如果不太了解这部分,资源中有介绍视频:
https://www.youtube.com/watch?v=D6xkbGLQesk
渐进符号详解:
https://www.youtube.com/watch?v=iOq5kSKqeR4
基础知识集合:
http://bigocheatsheet.com/
动态规划
动态规划部分也需要储备点相关知识:
比如斐波那契数列,路径最短问题:
https://www.youtube.com/watch?v=OQ5jsbhAv_M&t=7s
文字证明和21点:
https://www.youtube.com/watch?v=ENyox7kNKeY&t=4s
字符串操作
包括谷歌编程面试问题及答案、在二叉树中查找最小和最大元素、求二叉树的高度、尾部递归及问题检查等。
后续学习问题
还有一些其他小知识点,其实是leetcode中众多题目中几个有意思的问题,比如“Lily的作业问题”:
https://www.hackerrank.com/challenges/lilys-homework/problem
成对交换节点问题(Swap Nodes in Pairs ):
https://leetcode.com/problems/swap-nodes-in-pairs/
不用再通刷leetcode了,择其重点即可。
好了,理论问题告一段落。有的公司不那么关注对算法的理解程度,可能更重视实际操作问题。
这些问题通常很专业很小众,涉及到具体的操作过程,也就是一些小技巧。
在 操作编程问题 部分,就重点挑去了一些小技巧。
此外,在 系统设计视频 、 操作系统 、 线程 、 面向对象的编程 、 设计模式 和 SQL 部分,也是择取相关的小知识点,针对不同部分进行讲解。
这份资源内分过类的大小知识点,共有142个,比直接刷leetcode更有条理性,并且也不用手动搜资源了。
作者介绍
整理出这份面试资料的人是什么来头?
Benjamin Rogojan是一名西雅图的数据科学家,华盛顿大学毕业后,Benjamin Rogojan在一家健康分析公司做数据工程师。
Shayan Oveis Gharan是华盛顿大学计算机科学与工程的助理教授,2013年还获得了ACM博士论文奖。
当时的获奖论文是,New Rounding Techniques for the Design and Analysis of Approximation Algorithms。
论文地址:
https://homes.cs.washington.edu/~shayan/thesis.pdf
传送门
建议科学前往原文继续探索,就可以直接点击资源链接了:
https://medium.com/better-programming/the-software-engineering-study-guide-bac25b8b61eb
中文下载地址,也可直接进入资源:
https://pan.baidu.com/s/154sxInPJpFir4eAUA8WRuQ
作者系网易新闻·网易号“各有态度”签约作者
— 完 —
小程序|get更多AI学习干货
加入社群
量子位AI社群开始招募啦,社群矩阵: AI讨论群 、 AI+行业群 、 AI技术群 ;
目前已有 4万 AI行业从业者、爱好者加入,AI技术群更有来自 海内外各大高校实验室大牛 、 各明星AI公司工程师 等。 自由互相交流AI发展现状及趋势。
欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 决胜圣诞,女神心情不用猜!
- 决胜未来,2019年前端开发十大战略性技术布局
- 深入场景洞察用户 诸葛io决胜2017国际黑客松大赛
- 决胜人工智能之巅:核心算法缺失背后的中国“AI”困局
- AlphaWar兵棋推演:虚拟硝烟中的AI指挥艺术与决胜智慧
- 前端开发必备工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法与数据结构(第二版)
傅清祥、王晓东 / 电子工业出版社 / 2001-8-1 / 34.00
本书是《计算机学科教学计划1993》的配套教材之一。它覆盖了《计算机学科教学计划1993》中开列的关于算法与数据结构主科目的所有知识单元。其主要内容有:算法与数据结构的概念、抽象数据类型(ADT)、基于序列的ADT(如表,栈,队列和串等)。反映层次关系的ADT(如树,堆和各种平衡树等)、关于集合的ADT(如字典,优先队列和共查集等)、算法设计的策略与技巧、排序与选择算法、图的算法、问题的计算复杂性一起来看看 《算法与数据结构(第二版)》 这本书的介绍吧!