转码上岸,我都学了些啥

Posted by 李一桃🍑 on Fri, Jun 16, 2023
<本文总计 1.75k 字, 阅读约需要 4 分钟>

全职做 SWE 一周年啦 🎉。回顾总结一下在转码和工作过程中,我都上了哪些课,读了哪些书。

网课/Bootcamp

Full Stack JavaScript - Treehouse

主要学习了 Javascript、Node.js、 React、 Express、REST API 和 SQL 等, 总共做了 10 个项目,都需要 commit 在 GitHub 上。大约每周学习 10 小时左右。

课程老师讲的很细致,但我最喜欢的地方是每个章节后面都有一个大作业。大作业的要求非常详细,需要什么 function,每个 function 要做什么都会列出,并且没有标准答案,需要自己思考自己写。如果遇到困难,可以在 slack channel 上提问,并且鼓励学生之间互相答疑、互相帮助。

提交完大作业之后,会有老师或者其他已经完成该项目的学生来评分。在自己完成之后,也鼓励批改其他人的大作业,相当于模仿工作中的 PR reivew 了。

我能够免费参加 Treehouse 的这个课程,是因为它当时和一个公司联合搞了这个项目。目前需要付费,所以建议货比三家,选一个经济实惠、适合自己的。

The Complete 202X Web Development Bootcamp - Udemy

当时我看到很多人都推荐 Angela Yu 的这个网课,于是就买来学了一下,还蛮喜欢的。内容比较基础,和 treehouse 的网课有很大的重叠,对我来说算是查漏补缺了。在 Database 方面两者稍微有点不同,treehouse 用的是 SQLite,Angela 用的是 MongoDB(NoSQL)。

课程在 udemy 打折时候买的,花了$18。

Code 15 react projects - Youtube

象友推荐了 John Smilga 的这个课程,内容主要集中 React 上。讲得也非常清晰,如果有基础,可以先自己写一遍,如果遇到问题可以网上查查,再看他的解说。

Blind 75 - Neetcode

在 data structure and algorithm 上,很多人都推荐 Blind 75。做题的时候发现了 Neetcode 的 YouTube 频道,觉得他讲得相对清晰有条理,而且 75 题非常齐全。Neetcode 现在陆陆续续出了 Neetcode 150,Neetcode All 和一些付费网课。

AWS Cloud Practitioner - AWS CloudUp for Her

在象上看到这个免费的 AWS 学习项目,就在上班之余学了一下。它针对女性开放,内容比较基础,不需要技术背景。主要介绍了 AWS 有哪些服务,这些服务项目是用来做什么的。很多公司都用 aws 的云端服务,在面试过程中也有被问到熟不熟悉 aws。学习并通过考试之后会有一个 certificate,不过主要优势还是在于能听得懂同事在说些什么,并能提供自己的观点了。

之后还有一个进阶版的 AWS Solutions Architect 项目,如果对 aws 有所了解可以直接学这个。我打算下半年学一下。

How to crack the whiteboard interview - Youtube

这个视频主要讲的是 technical interview 的面试技巧和套路,看了之后很有收获。主要步骤就是

  1. 问面试官问题确保理解题目意思,并问到 edge cases
  2. 想面试官解释自己的思路,可以先从 brute force 开始,再进行优化。可以写一些 pseudocode。
  3. 如果面试官肯定了你思路再开始写码
  4. 用一个 test case 测试一遍
  5. 分析 time & space complexity - optional

书籍

Cracking the Coding Interview *

实习时候的 buddy 在我走之前给我列了一份大纲,教我如何准备 white board technical interview,用的是这个绿皮的 Cracking the Coding Interview。

顺序上,我先按照他列的知识点开始学习,主要有 Big O、Arrays、Strings、Linked Lists、Stack 、Queue、Tree 、Graph、OOD、Sorting、Searching 和 Testing,再开始做 Blind 75。这样更有系统性。尤其是 Linked Lists、Stack 和 Queue,如果不了解基础概念直接做题,容易云里雾里。

这本书网上资源很多,但我还是比较喜欢用纸质书学习。

Designing Data-Intensive Applications *

很多人都推荐读这本书来准备 system design interview,不过 junior 一般不用考虑这个问题。上班之后和同事一起 book club 开始读这本书,基本上两到三周读一章,花了大半年才读完。

收获比想象中要多一点,是一个 connecting 在我脑海中散落的 dots 的过程,当然也学到了很多新的概念。对我来说前面 5 章比较基础,从 database partitioning 开始变得复杂。无论如何,读了之后都对产品的 architecture 有了更多的了解,尤其是同事讲起一些名词的时候听得懂她们在说什么了。

Kotlin Design Patterns and Best Practices *

Kotlin 是目前比较流行的语言,和 Java 类似,可以用 Java 的 library,但是比 Java 简洁。虽然自己工作中没有在写 Kotlin,但是想要了解和学习这门语言,有种将来会用上的感觉。

前面讲到的两本书的内容适用于各种语言,主要是概念性的。这本书比前面两本要轻松好读很多,内容只和 Kotlin 相关,有很多 code snippets 做例子,非常具体。


*提供的是我的 amazon affiliate links。 如果想要支持本地书店,我推荐 bookshop.org 。可以选择支持的书店,买书之后 bookshop 就会把部分收益捐赠给你选择的书店。



comments powered by Disqus