查看: 4222| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 大龄宝妈转码刷题体会

   
🔗
匿名用户-5KVWN  2021-11-8 05:11:12 |倒序浏览

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

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

x
因为不能理解队友刷题的痛苦,所以自己亲身体验了一把刷题网的艰辛,结果发现其中确实有一些窍门,但是更多的是体力和坚持。敬佩能够潜心刷题的大家,坚持体力活真的不容易。当然,最重要的是不讨厌coding,保持刷题的初心(无论是为了钱还是为了爱好还是为了周赛的小成就感),把刷题变成自己喜欢(或者不讨厌)并且无压力的事情,相信会有更多的收获。写这个帖子是因为有好友问刷题经验,干脆就总结一下,各位看官权当茶余饭后的八卦新闻,看个乐子。如果能加个大米,那就在此多谢了!
背景:主业ds,最开始是什么数据结构都不懂,(以为数据结构是db schema),经过半年,现在基本数据结构框架清晰,可以轻松讨论dijkstra, dp,看了下地里面经,大部分都能快速应对的水平。



转码刷题如何开始?
打开谷歌,搜索常用数据结构,然后读一下geeks for geeks或者任何免费coding tutorial里面关于每一个常用数据结构的解释,这一步主要是搞清楚有哪些数据结构,每一个数据结构的使用场景,优劣,以及big O。不要在这里太抠细节,重在对每个数据结构有intuition。
除了数据结构,还有常用算法,比如bfs, dfs, recursion, dp了解一个大概。

第一遍刷题
用leetcode tag,对每一个数据结构做针对性训练,这一遍可以直接做medium( medium不少题是可以用多个数据结构解决的,所以当你在不同的tag下面都看到这个题的时候,很容易就会建立起来直观的每个数据结构的优劣,easy的题思考的余地比较小,做这些题进步的速度太慢),每个tag下面做20题左右,可以做慢一点,但一定要理解每个题是怎么做的,在知道答案的情况下,可以写出来code, edge case在这里不是特别重要,了解即可,不要硬扣。

第二遍刷题
用leetcode company tag,刷你心仪的公司考过的hard +medium题,还是按照数据结构刷,每个结构刷20题,这里主要是刷hard, medium是为了调剂hard的挫败感。这一轮会非常困难,可能一天只能做一个hard。确保hard的思路清楚,大概框架能写,不需要追求AC solution.这一遍主要是通过hard把各个数据结构串起来用,大部分hard题除了analytics难一点,很多就是结合了好几个数据结构,或者是bfs+dfs, multiple bfs, 这种,所以重要的是,培养自己拿到题以后,能快速想到思路,用那几个数据结构。
学有余力的同学,也可以在这里多学几个算法和不常考的数据结构,有些问题用特殊的数据结构能一次到位,如果不用,就需要用多个数据结构联合解决,多了解一些“奇怪”的知识,比较有利于下一轮刷题的融汇贯通。
再warn一下,这一轮会有点痛苦,刚开始做hard经常有brain dead的感觉,但是如果看懂了一个hard就会有豁然开朗的感觉,理解会是这一步的关键词,看懂算法比真正能写出来要重要。而且一旦看懂了hard以后,很多medium就迎刃而解了。very steep learning curve but you'll find yourself improved greatly.

第三遍刷题
还是刷上一轮的题,这时候可以引入心仪公司近期的面经了,这一轮降低hard题的比例,提高medium题的比例,重点在于有思路,并且能够implement code,同时要开始总结属于你自己的coding template.在总结template的过程中,你就会发现数据结构也都是融汇贯通的,recursion, dfs, top-down dp都是一个思路,bfs for tree and graph traversal, dijkstra, bottom-up dp都是一回事。这一轮需要重点注意implement code和edge case的考虑,确保思路能变成code.
进阶一点就是除了能做出来一个题以外,也可以开始考虑每一个题有多种解法了,注意在前面几轮我们只求会做,但是在这一轮要追求有多个思路解决同一个问题,同时分析各个思路的利弊,leetcode 论坛上经常有各种解法,买个会员也可以看答案里面的各种解法,对串通各个数据结构的理解特别有好处。

最后,在临近面试的时候,多看看面经,差缺补漏一下就差不多了。注意每一轮刷题的重点并不是要背下答案,你只需要背你自己的coding template,而对于题目,你需要保证自己每次看到题,都能有思路,硬性背题不是解决问题的方法。

其他的tips:
如果刷题中间看不懂怎么办?问youtube,看各个博主的讲解视频,我发现看别人讲,理解比自己看快,后来懂了以后自己看答案才开始快。博主也很多,大家根据自己的喜好选择就好了。
如果刷不下去了怎么办?找两个做过的medium题,再做一遍,很快就又有信心了

最后,刷题是体力活,贵在坚持,希望大家都有自己明确的目标,不论目标是什么,只要坚持下来,你都能成为刷题大神。

*体力活不是说题做得越多越好,而是说做到每个数据结构和常用算法都了然于心,就可以了,毕竟我们训练的是解题的能力,而不是背题机器。
*转码也建议看一下system design,了解一下自己喜不喜欢这个行业。。。。后来发现system design对自己的工作太有指导性了,起码能跟engineer用同一种语言交流了。。。

评分

参与人数 5大米 +5 收起 理由
rabbid + 1 赞一个
awilliea + 1 很有用的信息!
littlestronENNN + 1 赞一个
helenlxy + 1 赞一个!
Sooners + 1 赞一个

查看全部评分


上一篇:链表五大必会--第二篇 适合新手
下一篇:LeetCode刷题记录贴
全局:
然而我觉得“不讨厌刷题”和“不讨厌写码”是两回事情,刷题和码农日常工作也是两回事情,爱不爱刷题和适不适合转码完全是两个不同的概念
回复

使用道具 举报

推荐
mc2 2021-11-8 07:40:32 | 只看该作者
全局:
geeks for geeks 网站的正确性很有争议。好几次发现代码不对。不知道大家怎么看。

另外不知道为什么谷歌搜索总是把这个GeekForGeek放在高位。是因为GFG使了钱了么?

我经常看到谷歌搜索中有GFG,主动跳过。
回复

使用道具 举报

🔗
14417335 2021-11-8 22:16:18 | 只看该作者
全局:
顶楼无法加米。“抱歉,您不能对匿名帖评分”
回复

使用道具 举报

🔗
北辰一 2021-11-9 01:59:37 | 只看该作者
全局:
楼主主页ds 刷题是为了什么? 就是为了体验队友的痛苦?玩呢
回复

使用道具 举报

全局:
北辰一 发表于 2021-11-8 12:59
楼主主页ds 刷题是为了什么? 就是为了体验队友的痛苦?玩呢

当然是为了帮助队友刷题,找刷题窍门,一起鼓励一起练习
回复

使用道具 举报

🔗
沐沐春风 2021-11-11 00:10:57 | 只看该作者
全局:
宝妈加油!  你的思路值得借鉴
如果小有进步,也记得常常来feedback一下哦
回复

使用道具 举报

全局:
本人也是宝妈,求楼主带上
回复

使用道具 举报

全局:
哇 太厉害了
回复

使用道具 举报

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

本版积分规则

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