楼主: dontbeevil
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 刷题过程中特别有帮助的课程

     关闭
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
我从2sum不会写,到过了狗家和脸家实习的电面。走了很多弯路。现在回过头来看,埋头猛刷,其实不一定是最有效的方式。尤其是Google,面试过程中,特别强调交流。所以我们平时刷题就需要安装四个步骤来要求自己。

第一是communication。一定要和考官交流思路,还有就是不明白的地方一定要问清楚。
第二是problem solving,要展示自己的解决问题的策略。比如选数据结构什么的,一定要讲明白为什么要用各种算法和数据结构。
第三是coding。在前面两步的基础上,写出来干净正确的代码。
第四是testing,一定要回去验证自己的代码。这个过程中可以分析一下代码的复杂度。

怎么去练以上的步骤,有详细过程解析的入门教程就能起到很重要的作用。我在刷题的中期,在地里推荐下,看了educative的课程。特别有帮助。我现在大概介绍一下我用过的几门课:

Grokking Dynamic Programming Patterns for Coding Interviews . 这门课主要是针对DP,大部分的题都用递归,Top-Down, Bottom up三种方法解一遍,来龙去脉讲得非常清楚。特别适合DP有一定感觉,但又不能融汇贯通的小伙伴。


Data Structures in Java: An Interview Refresher.这一门课是把数据结构里面的基础数据结构都用java实现了一遍,对于用java的同学特别有帮助,java的基础在刷题的过程中,还是要必须掌握的。从复杂度开始,Arrays,LinkedLists, Stacks/Queues, Graphs, Trees, Trie, Heaps, Hash Tables,全都实现了一遍。而且还有配套的基础LeetCode题。是一个入门的很棒的教程。

Coderust: Hacking the Coding Interview.这门课精选了八十左右道题,每道题都有详细的讲解,对我最有帮助的地方是里面的代码运行步骤,特别详细,对代码的理解特别有帮助。

Grokking the Coding Interview: Patterns for Coding Questions.这么课程是一个总结提高的课程,它把算法面试的遇到的题型分成了各种模式,每类题各个击破。比如最经典的sliding window模式,Two pointers模式,快慢指针模式,合并intervals模式,cyclic sort模式,in-place翻转链表模式,树上的BFS,树上的DFS,双Heaps模式,subsets模式,二分法变种,Top K模式,多路模式(K-ways),0/1背包,拓扑排序。

当然还有一名最出名的:Grokking the System Design Interview.鼎鼎大名的System Design课程。

其他还有很多课程可以选择,可以去搜索

评分

参与人数 42大米 +67 收起 理由
ll123 + 1 赞一个
ccvzz + 1 给你点个赞!
Jonathan张 + 2 给你点个赞!
lemoncorn1123 + 1 很有用的信息!
getDone1 + 1

查看全部评分


上一篇:灵魂发问:递归在面试考察中到底什么水平??
下一篇:dfs travel -> divide_conquer -> 记忆化搜索 -> for loop dp

本帖被以下淘专辑推荐:

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表