一、社招大厂,可能需要的技能
能独立完成项目
- 根据一份文档或自己的一个想法,然后从前端开始一直做,遇到问题独立解决
- 经常思考代码可读性、复用性、性能问题
- 规范化代码(推荐使用ESLint)
- 版本控制(Git、SVN)
- 独立部署上线、维护
有经验积累
经验积累是个长期过程,写博客、写笔记很重要
计算机基础知识(真的很重要)
- 计算机网络:http协议、tcp协议等
- 操作系统:内存、CPU、GPU等
- 数据结构:队列、栈、树、排序算法、搜索算法等
- 数据库系统原理:sql语言、索引、ACID等
- 算法分析与设计:算法术语、贪心、递归、动态规划等
- 面向对象/面向过程:Java(对象)、C(过程)等
- 信息安全、计算机图形学、人工智能、通讯原理等
前端基础知识
- javascript基础:闭包、原型链等
- HTML和css基础:语义化、新旧标签、css3动画等
- javascript设计模式:单例模式、观察者模式、工厂模式
- ES6/ES7等
- 构建工具:webpack、gulp等
- Nodejs:前端必备后台语言
前端框架
- react、vue、angular等 至少做一个项目
- 深入分析框架源码实现
有后端开发经验
java(推荐)、C++、Python、PHP、Ruby、Go等
社招
如果现在已经不是应届生,出来工作好几年了。想要进大厂,如果错过了校招,咱们还有社招。
社招的话,要求:
- 一周左右就能开始做项目,不管是什么框架(Vue/React/NG)什么语言(JS/TS/SCSS)
- 遇到任何bug能独立解决,不管bug是什么导致的,都能快速定位,迅速给出方案
- 能和leader及组员有效沟通,他们说的你基本都懂,你能表述清楚你说的
二、从廖雪峰老师那所学的
web全栈架构师所需技术栈:
三、前端工作经验
前端工程师在大公司和小公司的部分区别?
- 如果在小公司,可能没有很多会议、汇报、KPI考核等,可以全心全意学习技术,只需要安心把工作做好,前期对技术成长会有帮助;
- 如果在小公司,可能很多作风和习惯比较野生,一开始可能意识不到,待经过大团队的协作,才会发现自己的不足;相对大一点的公司,流程方面会非常正规,格局、眼界的收获是非常难得的,这样对我们工程师的素养塑造很有好处。
- 其实,闲时要有吃紧的心思,忙里要有偷闲的乐趣。更多的时候是把时间利用好,不断自己成长。而成长到一个阶段,就要选择适合自己的平台。
推荐一下学习方法
-
取自 桑世龙(狼叔):学习有三个境界
1)最简单,跟书学
2)跟人学
3)自己悟,写博客 -
要有自学能力、要学习如何提升自己的能力
人 = 能力 + 知识
能力 = 编程能力 + 架构能力 + 工程能力
1)编程能力:用代码解决问题的能力
2)架构能力:掌握复杂系统的能力
3)工程能力:成事的能力