我是今年刚毕业的应届生,本科电子专业,目前人在北京做WEB前端工程师,满打满算在学校自学了7个月的WEB前端,毕业后的一个月一直在北京找工作,大概找了20多天面试了30家左右,拿到3个offer,最后选择了现在这家公司,待遇是税前11K,五险一金加节假日福利,工作时间是朝10晚7双休,有的时候需要加班。
之所以当时选择自学WEB前端,是因为我的专业电子,如果出去做本专业的工作,那基本都是进入电子厂当小工,对于那些电路板我确实没有多大的兴趣,感觉跟旧时的工人差不多,因为我大一接触过C语言,所以对于编程有一定的了解,而且对于这些逻辑上的东西也比较感兴趣,最主要的是因为做软件工程师比其他行业工资都高,这是最吸引我的地方,都知道90后很穷,确实都缺钱花,那么缺钱花怎么办?我自己也知道,就是靠着自己的努力赚,抱怨那些东西都没什么用,钱又不是抱怨来的。
自学的教程是在网上买的,当时花了几百块钱,是2019-2020年的教程,我就是跟着教程一步步地走,因为自己比较喜欢看书,也有耐心看书,就自己买了一本JavaScript书籍,我个人的感觉初学者还是跟着视频教程学比较靠谱,看书太枯燥比较难以理解,视频则是由老师把知识点讲解得通俗易懂,对于初学者会更友好,可以等学到JavaScript部分再结合书籍进行巩固提升。
根据我自学的经验给大家几点小建议:
- 首先你应该有一个比较好的学习教程,这是学习WEB前端的根本。如果你没有一份系统的教程,可以用我当时自学的这份,我可以免费分享给大家。因为网盘链接放不上来,需要的可以到这个WEB前端裙,484 757 760 。里面有全套的系统教程,可以跟着学,有什么不懂的地方可以随时在里面问,大家都会帮忙解答,学习氛围好。
- 然后你应该知道学习WEB前端的难点在哪里?学前端难的不是JavaScript,也不是各种框架。根据我学习的经验来看,学习WEB前端最难的就是坚持。学习一项技术,总是会遇见困难,能够克服这些困难,坚持往下学,自然就能找到工作。
- 第三点很多人觉得自己学了后面的就把前面的知识忘记了,而且还感觉视频教程中的都能听懂,但让自己写却写不出来代码,不知道如何实现。关于这两个问题,我想大部分人都遇到过,根据我个人的经验来看,这主要是因为自己当初所学的知识点没有经过大量的练习题和项目进行实践,只是在短期内脑海中的记忆,并没有形成一个深刻的记忆,因为自己没有经历啊,因为自己没有写过案例和项目。学编程技术是为了做更好的互联网产品,可是你却很少写代码,这样的学习方法怎么能是正确的呢?所以,学习前端一定要多练习敲代码,假设你每天有6个小时的时间学习前端,起码要拿出3个小时用来练习敲代码,这样才是正确的学习方式。
学到什么程度才能就业?
关于学到什么程度能够就业这个问题,这里分享一下我找到11K工作掌握的技术栈,你能够把这些知识点掌握了,找一份工作就很简单。
首先就是HTML/CSS3 以及工具部分:
vscode开发工具使用、markdown文档工具使用、浏览器平台环境、标签基础、DTD与META
语义化、选择器、权重与优先级、匹配规则、浮动与清除、BFC、类名组合规则、SEO前端技巧、定位、叠加技巧、
伪类、伪元素、盒子模型、代码规范、性能优化、渲染原理、CSS Sprites 、 iconfont字体图标、布局思路、布局定式
css3动画、 css3选择器、 css3过渡、flex布局、背景渐变、css3实用动效、3D模块、css3变量、em/rem/vw
学完这些可以完成一个企业内部多页面项目实战(非仿站)有完整PSD与切图
然后就是JavaScript 部分,你需要掌握以下知识点:
JavaScript概念、基础认知、发展历史、应用范围、优缺点。
ECMAScript
语言概览、语句语法、数据类型、运算符、隐式转换、运算规则、控制流程、作用域、作用域链、作用域解析、js解释引擎、字符串属性方法、for of/for in
数组属性方法、对象、广义对象概念、对象特性、存储机制、深拷贝、对象实际应用、工厂模式、构造函数、原型、原型链、原型指向、封装
多种继承、包装对象、this、this指向、js数据处理、垃圾GC、闭包原理与应用、debug方法论、浏览器控制台工具应用、面向对象开发、函数式开发
纯函数、递归函数、回调函数、组合函数、缓存函数、柯里化函数、偏函数、函数防抖与节流、高级函数、IIFE函数、模块化
数学对象、高级数组方法(reduce、filter、map、every、some、forEach、find、findIndex、include)等
高级对象方法(entires、defineProperty、freeze、fromEntries、assign、keys、create、hasOwnProperty)等
this通过bind、call、apply指向偏移、同步与异步、闭包模块化、数据形变处理、性能处理
DOM/BOM
DOM对象与方法、节点与遍历树、DOM选择器、DOM节点增删改查、DOM样式操作、DOM位置获取与偏移、DOM对象与标签区别、DOM虚拟化、DOM事件、
Event对象、定时器与监听器、事件委托、事件代理、事件分流、事件冒泡、默认行为、事件捕获、防抖、节流、滚动、键盘行为、事件降频、行为锁机制、
拖拽模组、碰撞检测、距离判断、三角函数、方向判断、运动框架、弹性运动、重力加速度、DOM树、CSSOM树、渲染解析、加载、回流、重绘、浏览器线程与阻塞。
BOM深入、window对象、navigator、history、screen、location、spa概念、本地传参、日期对象使用、日期格式化封装、随机封装、DOM分片容器
JS业务应用扩展
JSON对象、数据解析、JSON方法、模板渲染、缓存懒加载、正则表达式RegExp、元字符、修饰符、正向预查、贪婪模式、replace方法、分组与不分组、test、match与exec
正则库封装、表单校验、图片预存懒加载、自定义封装滚动组件、多重轮播(循环、视差、旋转木马)、选项卡切换、楼梯导航、吸顶导航、拖拽导航 、
JavaScript编码风格指南、console应用技巧
ECMAScript5 --- ECMAScript9扩展
版本解读、应用环境、let、const、解构赋值、箭头函数、对象解构、reset参数解构、class、set、get、extends、super、static、private实现、symbol、promise、proxy代理拦截、async/await
对象新增API、数组新增API、字符串新增API、原型属性、对象修饰、代理拦截、链式询问、空值合并运算符、泡泡龙面向对象游戏开发
HTML5 / 移动端开发 部分
HTML5标签与API
HTML5概念、定义、新增特性、DTD对比、新增H5标签、新增语义化H5标签、H5表单
H5拖拽事件 video、audio、fullScreen、FileReader文件流、Blob对象、sessionStorage、localStorage、
网络状态、页面生命周期、网页状态监听、地理信息与定位、canvas画布、worker多线程、Notifications桌面通知
播放器开发 canvas交互特效开发
移动端适配/事件
移动端适配概念、尺寸与分辨率原理、PPI与DPI计算、DIP与DPR设备像素概念、视口viewport概念、布局视口、视觉视口、理想视口
视口适配方案(Meta viewport)缩放设置 、screen窗口大小API、媒体查询@media、rem适配、vw vh适配
移动端适配方案、flexible rem方案、 vh vw方案 、复合方案、高清适配方案、移动端字体缩放解决、1px边框问题解决、半像素线
图片高清适配、image-set、srcset、js拼接URL技巧、IPhonex刘海屏适配、安全区域、fit与env
Meta权限管理、兼容优化、IOS头部底部闪屏回退输入框问题、输入法空格问题、默认首字母大写问题、滑动卡顿问题等
终端样式美化与访问判断
Touch事件组封装、click延迟处理、FastClick使用、禁用缩放设置理想视口
常用类库/工具
jquery: 元素选择、增删改差、事件处理、位置获取、动画过渡、高级方法、特效应用
zepto:移动端的jquery、DOM操作、移动端事件、click延迟处理、touch事件组
基础UI库: layerUI 、easyUI、bootStrap、UI模块化、UI库使用技巧、文档解读、案例调试、表单系统
iScroll、touchjs等移动端事件库使用
swiper:移动端网站触摸滑动、轮播图插件、模块化应用、源码解读
art-template: 模板引擎 模板语法、渲染方法、原生模板引擎实现
CSS预处理:sass、less使用 stylus深入学习 、预处理语法、css编程、 Minxin 、预处理函数、继承、嵌套
vscode高级插件与配置 liveserver sass
模板化应用 、预处理应用
date-picker移动端原生组件开发
需求分析、业务规则、技术栈选型、文件输出规则、技术分析
MVC模型概念与设计、业务逻辑分类
view层适配方案 原型布局搭建 模板化生成
工具函数开发、面向对象式业务设计 功能类日期对象开发
交互业务封装 模块对接 优化设计 面向对象高级程序设计
Nodejs与工程化开发 部分
Node原生基础
Node基础概念、NPM命令、V8引擎概念、JavaScript模块化 CMD AMD UMD、EventLoop事件循环、同步异步、 阻塞非阻塞 、任务队列、宏任务、微任务、
原生Node模块、核心模块与require、module、触发器events与path模块、fs模块、Buffer对象、URL模块、HTTP模块 、stream流
Node原生封装HTTP与文件服务器
Node框架
express框架使用、中间件、核心对象、路由配置、模板引擎、数据脚本、Router核心、CORS配置、错误处理、校验封装、PM2管理、nodemoon管理
MORGAN日志处理、查询正则捕获、中间件开发、bodyParse等第三方中间件使用 、文件流上传下载、文件流切分
webpack工程化构建
工程化概念、工程化工具介绍、webpack基础知识、webpack配置与运行、plugin插件、loader使用、入口出口配置、模块modules、依赖处理、dev Server
target 、文件切分、build打包、热处理、package管理、性能优化、测试处理 、第三方插件使用、babel等
前后端数据交互
HTTP通信交互原理、请求响应、MIME、URI地址、报文解析、端口、报文流、测试监听抓包、TCP/IP握手机制、网络业务模型
代理、缓存、网关、隧道等概念、method与请求头分类
基础XMLHTTPRequest对象方法属性、方法、ajax异步交互 、同源策略原理
原生js封装ajax交互、 jquery的ajax封装交互、jsonp跨域处理、cors跨域处理、携带cookie与跨域处理、代理服务器跨域处理、
cookie验证与通信 、axios库的使用 代理、封装、拦截、合并、二次封装
通信加密策略、数据对称加密、数据非对称加密、RSA加密实践、MD5加密实践
登录注册与鉴权机制、Authenticity认证、Token认证、JWT认证、session状态管理、 oauth认证
RESTful接口设计
RESTful设计原则、状态码设计与规范、服务器响应规则与格式、前后端接口协议制定、传统RESTful改进
API设计规范、 资源定位、JSON模式、合约说明、资源标识符、缓存友好API、HTTP头管理、文档定义、松耦合原则、一致性、重用、稳定性原则
数据库存储
MongoDB基础概念、NoSQL与SQL、CAP定理、RDBMS、MongoDB语法、指令、监控与GUI、MongoDb驱动、Mongoose应用
数据库创建、集合增删改查、文档增删改查、数据库查询、高级查询操作、通道查询、多条件查询、反向筛选、索引处理、aggregate聚合管道、
validation验证、population联表、middleware中间件处理、查询ERROR类二次封装
博客后台项目实战
数据库设计、服务端路由搭建、接口设计与API管理、通信交互管道封装、注册登录、路由导航、前端路由管理、权限管理、用户管理、分类管理、标签管理
、文章管理、模块化功能封装、校验库封装、promise链式行为封装、
异步模块处理、SPA单页面应用初级实现、原生集中行为控制器、模板化+模块化+预处理+工程化实现前端页面
组件化封装
组件化基础概念、组件设计原则、组件封装、组件耦合与解耦、工程化+模板化+模块化实现原生组件化功能、
vue框架部分
vue基础
vue开发准备、工具与插件、mvc mvp mvvm设计理念、原生js实现MVVM核心框架、vue设计模式、生命周期、命令与属性、组件化
数据驱动与双向绑定、虚拟DOM概念原理、模板语法、条件与列表、数组监测、计算属性、事件处理、修饰与表单、监听器、过滤器、
methods watch computed filter对比、组件化开发、动态组件、组件通信、高级组件通信、插槽、vue动画 、实例对象、set、get、nextTick、vue插件
vue工程化
Babel、webpack配置vue、vue单文件组件、vue-cli、工程平台处理、postCss、animate、core、socket、lodash工具、vue-cli插件、preset、静态资源处理、
环境变量与膜还是切换、工程化部署、工程构建
vue Router
vue路由概念、嵌套路由、路由视图、动态路由、路由匹配、编程式导航、history、hash模式管理、命名视图、重定向与别名、导航守卫、路由元信息、滚动与懒加载
导航故障处理
vuex
vuex核心概念、EventBus对比、状态管理模式、Store、state、getter、mutation、action、moudule
vuex辅助函数与API功能、vuex环境选择、vuex模块化处理规则与技巧、对象风格提交方式、模块重用等
vue项目实战
vue博客项目实战 PC + 移动端、 elementUI、vantUI、websocket聊天室、虚拟人偶、vueScroll、store、qs、nprogress、editor、
文章分类、词云效果、spa单页面应用、移动PC无缝切换、完整注册登录、vue加密鉴权、http封装管理、错误处理封装、vuex核心状态管理、本地存储状态更新、令牌处理、
文章富文本编辑、点赞、收藏、访问、评论、组件封装、组件复用、组件混合、高级组件开发、复合性组件通信、vue中处理原生DOM行为、vue常见错误处理、
重置vue数据响应、个人信息修改、头像上传、通知组件封装、postcss应用、项目打包优化
然后下面这些是跟这些技术相配套的教程,可以到这个WEB前端学习裙,484 757 760 获取。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。