作者goldeneyes (OD)
看板Python
标题[心得] LeetCode家教後,写程式的执行效率提升
时间Thu Aug 29 09:35:47 2024
在研究所毕业後,我已经工作了一年多。但由於工作、待遇和产业等因素,
我希望能够进入其他外商公司。然而,外商公司对於程式技术的要求较高,
因此我一直在努力练习LeetCode上的题目,有时也会参加LeetCode相关比赛
,以增强我的演算法和资料结构能力。虽然我已经对这些基础知识有了初步
的掌握,但对於一些难度较高的题目,例如Hard类型或DP类型的题目,我仍
然感到有些困难,即使参考别人的答案也一知半解。因此,我想寻找线上刷
题课程来提升自己。当时我发现了Candice先生的课程,老师是一位知名
Google公司的工程师,并拥有面试官的经验。这个课程是以一对一家教的形
式进行,非常适合我的需求。唯一的问题是课程费用偏高。
最初的试听课:
在最初的试听课上,老师出了一个关於树状结构的题目,要求找出所有节点
上数字之和等於sum的可能情况。当我完成这个题目後,老师进一步探讨了逻
辑是否有问题、写法优化和时间复杂度等方面。对於後两个问题,我之前在
解题时比较容易忽略,但在老师的指导下,我逐渐意识到这是非常重要的问
题。
以前只要写出答案就满足了,但现在我的目标是写出高效的程式,这也
是我从老师那里学到的最多的部分。另外,我也开始注意到程式风格的问题
。这让我觉得很特别,因为每个人写的程式都有所不同,同样的解法可能有
不同的写法。例如,对於DFS和BFS,有些人更喜欢使用其中一种方法;而对
於二分法,有的人会将索引值放在内部,有的人则会将其放在外部。这些差
异让我在上课後更加体会到写程式的乐趣。还记得在上DFS章节课程时,老师
用了一个很特别的方法来示范DFS题目,他用了while回圈来实现递回,这让
我惊讶,因为我以前从未见过这种写法,这也是写程式最有趣的地方之一。
最後,每当一个章节结束时,老师都会准备相应主题的作业,让我们运用所
学的技巧来完成,从而加深对该章节内容的熟悉度。如果遇到问题可以提出
来,老师会在下次上课时一并解答。
面试中各种类型的题目:
我自己每个月上一堂课,总共完成了七次课程。因为有新的工作机会,所以
我也陆续参加了面试。在面试中,我遇到了各种类型的题目,例如双指针、
字串、二分、排序和DFS等。
我发现许多面试官注重效率和逻辑问题,即使程
式完成後也不一定是正确的。有时候还需要自己跑Test case,逐行分析变数
的行为以确保程式没问题。这与上课时老师探讨优化的部分有极大的相符。
经过这些实际面试经验的累积,最後也有成功进入了我心仪的大型EDA美商公
司。对於想参加课程的同学,我建议有一定的程式基础和演算法知识会比较
适合。这样在程式对谈时能更加顺畅,降低认知上的隔阂。祝大家在未来的
职业生涯中继续取得成功,不断进步!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.166.94.19 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1724895351.A.A85.html
1F:→ tzouandy2818: 现在业配都不演了吗 08/29 10:40
2F:→ leolarrel: 但是,年龄比效率跟逻辑更重要,老了,逻辑再好,机会也很 08/29 12:23
3F:→ leolarrel: 少. 08/29 12:23
4F:嘘 aalexx: 现在都不注重基本知识了? 08/30 02:38
5F:→ gmoz: 这文笔好AI 08/30 21:54
6F:嘘 gama79530: 业配没有搭配天马行空的小故事是不及格的 08/31 13:29
7F:→ sppmg: 想贴废回文XD 『模仿以下文章,将教师改为谢金河,教学内容 08/31 22:48
8F:→ sppmg: 改为股市。』把这贴上去让chatgpt 生一篇也没有问题XD 08/31 22:48
9F:嘘 fallen01: 这篇几token 09/04 18:51