Coding Interview University学习

Coding Interview University学习

转自作者:约翰·沃斯塔姆, 简介:https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu

代码仓库地址: [jwasham/coding-interview-university](https://github.com/jwasham/coding-interview-university)

技术菜鸟的进阶

(一)、为何要用到它?

从底层去了解数据结构以及编程语言的运作原理。

作者原话引用:当我开始这个项目时,我不知道的区别,不了解时间复杂度(Big-O),或如何去遍历一个。如果非要我去编写一个排序算法的话,我只能说我所写的肯定是很糟糕。一直以来,我所用的任何数据结构都是内建于编程语言当中。至于它们在背后是如何运作,对此我一概不清楚。此外,以前的我并不需要对内存进行管理,最多就只是在一个正在执行的进程抛出了“内存不足”的错误后,才会去找解决方法。在我的编程生涯中,虽然我有用过多维数组,也用过关联数组成千上万次,但我从来没有自己实现过数据结构。

这是一个漫长的计划,以至于花费了我数月的时间。若你早已熟悉大部分的知识,那么也许能节省大量的时间。

(二)、不要觉得自己不够聪明(特别符合现在我的心境)

作者原话引用:大多数成功的软件工程师都非常聪明,但他们都有一种觉得自己不够聪明的不安全感。(当然排除我)

[天才程序员的神话](https://www.youtube.com/watch?v=0SARbwvhupQ )

[不要单打独斗:面对技术中的隐形怪物](https://www.youtube.com/watch?v=1i8ylq4j_EY)

 

(三)、 面试过程 & 通用的面试准备

[ABC:不要停止编程(Always Be Coding)](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)

- [ ] [白板编程(Whiteboarding)](https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1)

- [ ] [揭秘技术招聘](https://www.youtube.com/watch?v=N233T0epWTs)

- [ ] 如何在科技四强企业中获得一份工作:

- [ ] [“如何在科技四强企业中获得一份工作 —— Amazon、Facebook、Google 和 Microsoft”(视频)](https://www.youtube.com/watch?v=YJZCUhxNCv8)

- [ ] 解密开发类面试第一集:

- [ ] [Gayle L McDowell —— 解密开发类面试(视频)](https://www.youtube.com/watch?v=rEJzOhC5ZtQ)

- [ ] [解密开发类面试 —— 作者 Gayle Laakmann McDowell(视频)](https://www.youtube.com/watch?v=aClxtDcdpsQ)

- [ ] 解密 Facebook 编码面试:

- [方法](https://www.youtube.com/watch?v=wCl9kvQGHPI)

- [问题演练](https://www.youtube.com/watch?v=4UWDyJq8jZg)

- [ ] 准备课程:

- [ ] [软件工程师面试发布(收费课程)](https://www.udemy.com/software-engineer-interview-unleashed):

- 从前 Google 面试官身上学习如何准备自己,让自己能够应付软件工程师的面试。

- [ ] [Python 数据结构,算法和面试(收费课程)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):

- Python 面试准备课程,内容涉及数据结构,算法,模拟面试等。

- [ ] [Python 的数据结构和算法简介(Udacity 免费课程)](https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513):

- 免费的 Python 数据结构和算法课程。

- [ ] [数据结构和算法纳米学位!(Udacity 收费纳米学位)](https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256):

- 获得超过100种数据结构和算法练习以及指导的动手练习,专门导师帮助你在面试和职场中做好准备。

- [ ] [探究行为面试(Educative 免费课程)](https://www.educative.io/courses/grokking-the-behavioral-interview):

- 很多时候,不是你的技术能力会阻碍你获得理想的工作,而是你在行为面试中的表现。

(四)、为你的面试选择一种语言

目前来看我所使用的语言有,python、java、go、scala,需要为面试需要选择一种语言(目前选择java)

(五)、面试准备

[Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition](https://www.amazon.com/Programming-Interviews-Exposed-Through-Interview/dp/111941847X/)

[Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)

(六)、额外的选择

 [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)

 [Elements of Programming Interviews in Python](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949/)

 Elements of Programming Interviews (Java version)

https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/

[配套项目──书中每个问题的方法和测试用例](https://github.com/gardncl/elements-of-programming-interviews)

(七)、其他语言选择

[额外编程语言的精选资源](https://github.com/jwasham/coding-interview-university/blob/main/programming-language-resources.md)

(八)、书籍资源

### C++

 [Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)

[Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)

 [Open Data Structures in C++](https://opendatastructures.org/ods-cpp.pdf)

### Java

[算法(Sedgewick 和 Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)

[第一部分](https://www.coursera.org/learn/algorithms-part1)

 [第二部分](https://www.coursera.org/learn/algorithms-part2)

 [Java 数据结构和算法](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)

### Python

[Python数据结构和算法](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)

读书报告:[startupnextdoor.com/book-report-data-structures-and-algorithms-in-python](https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/)

[Open Data Structures in Python](https://opendatastructures.org/ods-python.pdf)

(九)、使用抽卡

[记住计算机科学知识](https://startupnextdoor.com/retaining-computer-science-knowledge/)。

[学习如何学习](https://www.coursera.org/learn/learning-how-to-learn)。

[抽认卡页面的代码仓库](https://github.com/jwasham/computer-science-flash-cards)

[我的抽认卡数据库 ── 旧 1200 张](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham.db)

 [我的抽认卡数据库 ── 新 1800 张](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham-extreme.db)

有一点需要记住的是,我做事有点过头,以至于卡片都覆盖到所有的东西上,从汇编语言和 Python 的细枝末节,到机器学习和统计都被覆盖到卡片上。而这种做法,对于要求来说是多余的。

**在抽认卡上做笔记:** 若你第一次发现你知道问题的答案时,先不要急着把其标注成“已知”。反复复习这张抽认卡,直到每次都能答对后才是真正学会了这个问题。反复地问答可帮助你深刻记住该知识点。

这里有个替代我抽认卡的网站 [Anki](http://ankisrs.net/),很多人向我推荐过它。这个网站用同一个字卡重复出现的方式让你牢牢地记住知识。这个网站非常容易使用,支持多平台,并且有云端同步功能。在 iOS 平台上收费25美金,其他平台免费。

这是我用 Anki 这个网站里的格式所储存的抽认卡资料库: ankiweb.net/shared/info/25173560 (感谢 [@xiewenya](https://github.com/xiewenya))

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小_长颈鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值