> For the complete documentation index, see [llms.txt](https://1037survival.gitbook.io/survive-in-1037-forest/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://1037survival.gitbook.io/survive-in-1037-forest/campus-recruiting/internet-industry-technical-job/frontend.md).

# 前端

## 前端找工作指北

写这篇文章的主要目的是分享一下前端学习和面试的经验，为后来人解答一些疑惑

### 如何学习前端

根据个人学习经验以及所见所闻整理, 其中内容多少会带点主观性, 仅供读者参考

#### 前期

* HTML
* CSS
* JS 基本语法
* 使用原生 api 操作浏览器中 DOM 元素
* 基本工具的使用，git、markdown 等

> check point: 能够复刻一些静态界面，比如还原一下知乎首页之类的

到这里你基本就能拿到小厂实习 offer 了

#### 中期

* 学习前端框架的基本使用
* 深入学习 JS
  * 了解更多 api，如数组方法、`Date`、`Promise`、`Regexp`、`JSON` 等
  * 学习 JS 中较复杂的概念，推荐书籍《你不知道的 JS》
* 深入学习 CSS
  * 熟悉更多属性的用法，如 `flex`、`grid`、`transform`、`animation`、`display`、`position` 等，知道什么场景下用什么
  * 推荐书籍《CSS 世界》
* 学习 node 基本使用
* 慢慢的了解到更多概念（至少知道什么场景 会/能 用到这些东西）
  * Tailwind
  * ant design
  * 函数式
  * scss，less
  * webpack
  * vue/react router
  * vuex / redux
  * npm / yarn / pnpm
  * cookie / session / token
* 数据结构和算法
* 简单的计算机网络知识

> check point: 使用框架完成一个个人博客

到这一步你基本就可以拿到大厂实习 offer 了

#### 后期

* 了解跨平台方案（最好实践一下？）
* 尝试使用上述提到的概念，最好能**体会一下他们的思想**，为什么他们能解决问题，为什么大家要用它，他们有什么缺点，能不能改进 etc
* 深入学习使用的框架，**了解其原理**
* 了解 node、浏览器、网络的**底层原理**
* 多逛论坛/github，对整个前端的动向有嗅觉，会**自己找资料深入学习**

> check point: 已经不需要 check point 了

到这一步你基本就是 offer 收割机了

#### 大后期

探索更多可能，走在前端发展的最前沿

### 关于实习/面试

#### 如何找实习

如果对自己不自信，**可以先投你以后不打算去的厂去面试刷经验**，这样既不会在你心仪的厂留下不好的面评又能刷到经验，非常建议用面试的方法检验自己的不足之处！

#### 如何准备面试

1. 看看面经，该背的还是要背的
   1. 附上[我的面经](http://www.xiong35.cn/blog3.0/posts?kw=%E9%9D%A2%E7%BB%8F)
2. 刷刷算法题，leetcode medium 难度足矣
3. 如果自己有项目，可以想想有什么出彩的地方能跟面试官说，面试官会感兴趣的。如果没有，想想怎么魔改一下让他出彩点！个人经历是我写的[BBHUST 论坛网站](https://bb.hust.online)的鉴权问题和 GQL 实践被问了好久。还有[狼人杀](https://github.com/xiong35/werewolf)项目里用到了不少设计模式让面试官很惊喜
4. 关于简历模版，有很多现成的简历模版网站（木及简历，超级简历等），也有我自己做的一套[简历模版](https://github.com/xiong35/resume)，个人感觉只要表意清晰就行，重要的是内容！
5. 关于简历内容，当然**最重要的是自己的硬实力**，多学点东西简历里就能多写点东西！要想学习如何组织内容，非常建议看这个：[花果山-大圣 简历点评和模拟面试](https://space.bilibili.com/26995758/channel/seriesdetail)

#### 面试过程中的注意事项

1. 上来自我介绍随便讲两句就行，个人感觉只是走个流程让面试官有时间看你简历
2. 可以主动说说自己的项目经历（如果比较出彩的话）
3. 遇到不会的题不要硬撑着胡说，老实说不会然后让他问点别的就好
4. 写不出来的题同理
5. 如果对面面试官一直不苟言笑或者一直问你你不会的题也不要慌张，我遇到过几次这种情况都是有惊无险，不要被气氛影响发挥！

### 推荐阅读

* [前端实习生需要到达什么水平？- xiong35 的回答](https://www.zhihu.com/question/268805647/answer/2259898634)
* [前端学习指北 - xiong35 的博客](http://www.xiong35.cn/blog3.0/post/614d9871f166d62decd2c886)
