Jin's blog

我从设计入坑前端的经历

总结

转眼毕业快 5 年了,聊一聊从大学开始学编程到 现在 毕业的一些经历。

大学时期

熟悉我的朋友都知道,我其实是学设计出身,在大二下学期开始入门编程前,我一直在尝试学习如何成为一个优秀的设计师。

因为我上的学校(吉林建筑大学)视觉设计专业过于拉垮,我确信如果跟着老师学我肯定会面临毕业即失业的状况。

于是当时我做的最多白事情就是找网上各种培训视频,每天看。记得那会还报了一个课外班学习如何做一些基础的设计,但是去上的时候才知道教的有多拉垮。

当时买了一块帘子,在寝室挂在床边挡住电脑。然后每天在寝室看在网上找的的各种课程,收集各种设计网站,研究如何成为一个还不错的设计师,起码毕业之后要找到还不错的设计工作。

转折点

设计生涯最后的打击。

当时的导员想找人做一个会议的背景,关于学校会议啥的,让我帮忙搞一个。很可惜,设计出来的东西老师并不满意。

我意识到视觉/平面设计终究是服务业,设计最终想做成什么样不取决于我,而取决于客户。当然,对于有名气且资深的设计师可干预并注入的设计思想肯定可以更多,但显然当时的我并没有这个能力。

所以当时就不是很想干设计了。又开始想把小时候想折腾的编程搞起来。初中时候买了本 C 入门的书,不知道谁写的水书,看了两天我连环境怎么搭起来都不知道。

我记得当时找了学计算机的朋友指导应该怎么入门。因为朋友是写后端的,给指了一条后端的学习路线,让我先开始看 C。

反正就是直接开始学 C 了,买了本 C Primer Plus 就开始看。好书真的是不一样,跟着书配环境非常快,分分钟就能搭好,然后开始跟着书上的内容已经网课开始学 C,这本书真的很不错,学起来感觉比较轻松愉快,感受到了一些 coding 的乐趣。

当时作为学生,有的就是时间。很快就把书看了一半多点。好巧不巧当时看到了前端这个路子。所见即所得,也是糊界面的,这我一看,很适合我啊。

入坑前端

于是又开始找网课开始学前端三件套 HTML, CSS, JS。

有了前面 C 的经验,学 JS 是飞快,因为真的很像。当时入门的教程记忆深刻的应该是现在被风评极差的萧井陌。只不过我看的是盗版录屏,哈哈。不过确实学到不少技能,也算是带我勉强入门前端。

当时写的第一个小项目:原生 JavaScript 实现扫雷游戏 (opens in a new tab)

Xnip2024-01-24_09-26-15-n5x2.jpg

看了眼 commit 时间,已经是 6 年前的事情了。

记得当时还在知乎上搜索如何学习前端,翻到了黄玄大佬的设计师应该如何入门前端 (opens in a new tab),知道了这条路怎么走。后来看到 Vue 的作者 yyx 也是设计出身,那会倒是更有信心了。

学了一段时间,但是没有糊过一个完整的稍微大点的项目,所以又找到了当时很火的 Vue QQ音乐网页版 (opens in a new tab) 的项目,当时学前端的应该或多或少都有接触过吧,哈哈。

照着教程写了一版,然后又自己重构了一版,为了做出区别做的精致一些,我重写成的网易云音乐的版本 (opens in a new tab)。可能是市面上当时同类练习产品中,做的最精致的一版了。

为了找工作把这个专门为这个项目写了一篇超认真的文章,在 V2EX、知乎 (opens in a new tab)掘金 (opens in a new tab)、博客园上介绍了自己的项目。结果也出乎了的预料,没想到 star 直接冲到了当时的 GitHub trending 榜前 10,非常离谱,这下好了,简历有的写了。

实习

当时面了不少公司,记得当时勾股还发邮件给我让我面试,可惜我太菜,阿里一面直接被面试官拿下了。还面了有赞,和面试官聊了好久,只记得让我多去看 lodash 源码,当然也是没有结果。其实最大的问题还是八股文背的不行,能拿到面试机会也主要是因为我的项目做的还可以。不过最后还是面上了酷家乐,大三暑假就开开心心去实习了。

当时在杭州公司边租了个 2000 块的小卧室,屋子里还有蟑螂,非常恐怖。在酷家乐实习的记忆有些模糊,只记得当时很菜,啥也糊不出来,当时还写了篇文章简单记录了下 七月实习小记

实习的时间很短,三个月左右,因为学校原因没让继续实习。在实习过程中意识到了自己作为非计算机专业有多菜,基础实在太差了,所以回学校之后又开始恶补各种基础知识。

准备春招

回校之后也没有急着秋招,两个原因,第一点是因为基础太拉,自认就算有面试机会也没法通过。第二点是不想因为秋招留下什么垃圾面评,那春招的时候就真没戏了。

所以回校之后就开始为秋招做准备。当时主要在做两件事,写一个新项目和刷题。新项目就是 Here Music (opens in a new tab),一个 electron 糊的音乐客户端。因为想和其他糊音乐播放器的项目做出区分度,所以花了不少时间用在实习期间学习的 React + Electron 糊了个客户端播放器(虽然现在看代码是一坨💩),但是在当时作为应届拿出这个作品还是非常可以的。这个项目也是走了我的老路子,各种论坛kuku发,最后也蹭了一千多 star。

另外做的事情就是刷题了,我做的就是分类型整理好了各种八股文题目,以及去牛客以及各种面经的网站上找题目,把所有不会的题目都按照自己的思路做一遍。最后用思维导图整理好,以及整理成文档打印出来。我记得那会一直在各种背,基本上自己准备的题目全理解透了。

贴一个当时用来模拟面试的图。

Xnip2024-01-23_09-22-02-ij2m.jpg

有班上了!

最后在2月的时候拿了小米和字节的 offer,当时也没投太多公司,阿里和腾讯压根没拿到面试机会,最终选择了字节,原因就是钱多(现在看来这个选择也很正确)。

其实在面字节的时候感觉 3 面完全是在被各种吊打,反正就是问啥啥不会,不过最后给了道比较简单的算法题倒是写出来了。当时能拿到最终 offer 也是很出乎我的预料,应该是 1&2 面答的还不错的原因。

现在记的最清晰的还是 HR 和我聊薪资的时候发懵的状态,有种不敢相信的感觉 🤣(穷孩子,第一次知道写代码这么多钱...)。