关键词:
前端不会框架的话,找工作是真的很难。
- 基础(html+css+javascript)学不扎实,不会框架、不做项目
- 前端业务需求不仅限于效果和功能,更追求性能和优化、后期维护
如果你存在这些问题,找工作的确是个问题。本文主要从下面三个方面讨论:前端基础、进阶学什么?如何做项目?后期提升方向?
一、前端基础学什么?
HTML
HTML 负责网页的结构层,是网页开发的基础,从简单的网页骨架搭建入手,使用常见的 HTML 标签丰富网页结构。
CSS
CSS在 HTML 搭建的网页结构基础上,通过 CSS选择器 精准选择标签,使用外观、盒模型相关属性完成网页全部内容,利用浮动、定位等布局技巧精准控制网页布局,结合背景、圆角、阴影等装饰属性进一步美化网页效果,达到能够编写企业级大型综合网页。
JavaScript
- 1. 掌握JavaScript基础语法,培养编程逻辑思维
- 2. 掌握DOM和BOM对象的常用属性和方法,能够完成网页常见的交互效果
- 3. 能够使用 axios 实现 Ajax 操作,为后续项目课做好技术铺垫
- 4. 能够运用 Git 管理前端项目,并且使用 Git 分支进行多人协同开发
- 5. 能够使用 Promise 与 async/await 高效的实现异步操作
Vue.js
通过 Vue2 和 Vue3 的基础学习,掌握企业开发中常见业务功能实现;通过深入 Vue 技术栈学习 vue-router vuex vant element-ui 等主流技术,掌握企业级项目开发方式,如移动端H5项目实与PC端管理项目;通过 Vue3 结合 TypeScript 的技术学习,掌握大型企业级项目开发技巧。
二、如果你想找到一份好工作,需要从这些方面进阶:
大部分情况下你多会了一门编程语言/框架/库的使用,这的确可以让你做的事情更多了,但你距离真正的技术进阶还很远。
对于前端来说,你需要掌握框架的基本使用,学会开发一个完整的项目流程。进阶内容:
- js 熟悉,原型链,事件循环...都熟记于心
- node
- docker
- nginx
- webpack
- babel + ast
- 前端安全性
- 持久化数据(数据库)
- 至少熟悉一门后端语言(java, php, python)
- 单元测试,集成测试
进阶必读书籍:
- 《你不知道的 JavaScript 上/中/下卷》:必买书籍,将 JavaScript 的疑难问题,细节知识一网打尽。原版是 GitHub 上开源的电子书,英语水平高的可以去读英文原版。
- 《JavaScript 忍者秘籍》:深入讲解 JavaScript 的核心知识点,必买书籍。
- 《了不起的 JavaScript 工程师》:从宏观来看 JavaScript 语言,以及前端工程师所需要掌握的一些技能,推荐阅读。
- 《JavaScript 函数式编程指南》:学习函数式编程思想
- 《JavaScript 函数式编程》:也是一本函数式编程思想的好书
- 《JavaScript 设计模式》:学习 JavaScript 设计模式,推荐阅读
- 《JavaScript 设计模式与开发实践》:另一本同等分量的设计模式书籍,推荐阅读
- 《锋利的 jQuery》:jQuery 现在已经很少有人用了,除非是很老的项目或者写小东西。不过这本书值得买,学习 jQuery 的优秀思想,还可以去学习一下它的源码,对你进阶很有帮助。
进阶选读书籍:
- 《高性能 JavaScript》
- 《JavaScript Web 应用开发》
- 《深入理解 JavaScript》
- 《JavaScript 经典实例》
- 《JavaScript 面向对象编程指南》
- 《JavaScript 编程精粹》
三、如何独立完成项目
项目阶段要知道一个项目的整体框架和设计思路:
- 确定框架和技术点(一般来说开源的项目,都整理好了,就算没整理,评论区的大牛也有整理出来的)
- 开发工具确认
- 开发规范+命名规范(这点在职场上很重要,所以学习项目的时候要注意)
- 后面就是技术点的学习并且要了解业务。
- 前期是抄一抄,可以借鉴一些社区的技术文章
- 后期可以在学会的基础上优化一些什么,然后变成自己的经验。
比如我们构建一个实时聊天应用的话:
- 首先使用create-react-app或者vue-cli来创建项目
- 使用现有的Sass服务商,例如极光IM、腾讯IM、网易云信,它们都有免费使用的额度。
- 使用http://socket.io框架自行搭建聊天服务
- 使用Node.js自行搭建websocket服务
比如电商项目的话:
- 使用create-react-app或者vue-cli来创建项目,使用Node API来构建后台服务
- 使用Postgres或者MongoDB数据库,使用像Prisma(Postgres)或者Mongoose (MongoDB)这样的ORM框架
- 使用支付宝、微信接入支付功能
- 将Node API和前端应用部署阿里云、腾讯云等
前端开源项目整理,送给大家!
- React Native Paper:基于 React Native 的 Material Design UI 组件库。链接:https://github.com/callstack/react-native-paper
- TensorFlow.js:基于 TensorFlow 的 JavaScript 库,用于在浏览器和 Node.js 中进行机器学习和深度学习。链接:https://github.com/tensorflow/tfjs
- VS Code:一个轻量级且强大的代码编辑器,由 Microsoft 开发。链接:https://github.com/microsoft/vscode
- Home Assistant:一款开源的智能家居平台,可以将不同的智能设备整合到一个平台上。链接:https://github.com/home-assistant/home-assistant
- OpenCV:一个计算机视觉库,可以用于处理图像和视频。链接:https://github.com/opencv/opencv
- Node.js:一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以用于服务器端应用程序的开发。链接:https://github.com/nodejs/node
- WordPress:一个流行的开源内容管理系统,可以用于构建博客、网站和电子商务网站等。链接:https://github.com/WordPress/WordPress
- FastAPI:一个快速(高性能)的 Web 框架,用于构建基于 Python 的 API。链接:https://github.com/tiangolo/fastapi
- Rust:一种快速、安全和并发的系统编程语言,由 Mozilla 开发。链接:https://github.com/rust-lang/rust
- Electron:一个基于 Web 技术的桌面应用程序框架,可以使用 HTML、CSS 和 JavaScript 构建跨平台的桌面应用程序。链接:https://github.com/electron/ele
四、学习提升方向
作为前端程序员要真正掌握数据结构和算法, 必须先从每一个微小的程序设计开始,摆脱边写边想的开发方式,认真理解和思考程序的现实面,并通过你所了解的数据结构和算法,将现实面抽象出来变成数字面,而只有在这样一次一次的设计中不断积累经验,不断深入掌握和理解并学习各种数据结构和算法。
推荐一些数据结构和算法的经典书籍:
- 《剑指offer》
- 《程序员面试金典(第 6 版)》
- 《编程之美》
- 《漫画算法》
- 《算法图解》
- 《程序员代码面试指南》
- 《大话数据结构》
- 《趣学算法》
- 《学习 JavaScript 数据结构与算法》
- 《数据结构与算法:JavaScript 描述》
- 《算法(第四版)》
- 《算法导论》
- 《算法竞赛入门经典(第二版)》
- 《算法竞赛入门经典 训练指南》
学好数据结构和算法很重要,这是计算机的思维方式,比如说分治算法的思想,对模块设计以及系统设计都有着较大的影响。
为什么dns根服务器只有13台?给中国一台真的很难吗?(代码片段)
点击上方关注“终端研发部”设为“星标”,和你一起掌握更多数据库知识来源:toutiao.com/a7033024151724130823/域名系统是最重要的互联网服务之一,没有它,我们将无法访问在线内容,甚至无法发送电子邮件。... 查看详情
10年测试工程师经历!0基础转行软件测试真的难吗?
...吗?5、0基础如何转学测试,学到什么程度可以去找工作?一、软件测试是做什么的?所谓的软件测试就是指通过人工或工具的手段去校验软件产品的完整性、安全性、正确性。简单的讲就是找BUG、找茬。找出软... 查看详情
10年测试工程师经历!0基础转行软件测试真的难吗?
...吗?5、0基础如何转学测试,学到什么程度可以去找工作?一、软件测试是做什么的?所谓的软件测试就是指通过人工或工具的手段去校验软件产品的完整性、安全性、正确性。简单的讲就是找BUG、找茬。找出软... 查看详情
10年测试工程师经历!0基础转行软件测试真的难吗?
...吗?5、0基础如何转学测试,学到什么程度可以去找工作?一、软件测试是做什么的?所谓的软件测试就是指通过人工或工具的手段去校验软件产品的完整性、安全性、正确性。简单的讲就是找BUG、找茬。找出软... 查看详情
现在python就业很难吗?百万程序员都在关心的问题
这是我最近逛脉脉职言,看到的一则动态。我知道我们很多已经转行python或者即将转行python都要面对的一个问题–就业!本文跟大家分享Python的几个主要发展和就业方向,给准备转行学习Python或者已经转行python的小伙... 查看详情
接口测试真的有那么难吗?
...浏览器与服务器的接口。这个很容易理解,web开发一般分前端和后端,前端开发人员用html/css/javascript等技术。后端开发人员用php/java/python等各种语言。用户输入的数据是输入到前端页面上。怎样把这些数据传递到后台呢?通过ht... 查看详情
新手学javascript都要学什么?
要从事网页开发。不知从何下手?会JavaScript语言可是不知道该怎样进阶。最好的方法就是不断地做网页、写代码。不断地看别人的代码,研究别人的代码!用代码实践JS的每一个技巧点:多听多看多问多写!学习要系统,也能够... 查看详情
迷茫!工作之余要学点什么呢?
最近我在分答上收到几个有关学习和成长的问题:工作中有些空闲时间,该学点什么来提升自己呢?在一家小公司,老板对你很自由但是没什么能教给你,同事也不愿意教导你!怎么破?怎样才能不虚度大学时光?转做新媒体编... 查看详情
3年功能测试经验,面试想拿到15k很难吗?
一直觉得经验多,无论在哪都能找到满意的工作,但是现实却是给我打了一个大巴掌!事后也不会给糖的那种...个人情况大概介绍一下个人情况,男,本科,三年多测试工作经验,一毕业因为不成熟... 查看详情
人人都要学一点系统论
人人都要学一点系统论 工欲善其事,必先利其器——孔子《论语》 系统科学理论是二十世纪人类认识世界的重要理论成果,它将人类认识世界的哲学提升到了一个新的高度——系统,用这一理论模型来表达对世界的... 查看详情
自学python很难吗?只要你足够努力,高中学历也能获得offer(代码片段)
...f0c;同时也能验证自己的技术水平,就入抗了。学Python真的不难,首先你要摆正心态,没有所谓的速成方法,如果有的话就是“死磕”。我那会自学Python的根本没那么多资料,更别说什么视频,书籍也少的... 查看详情
javascript的记忆函数真的可以提升性能吗?
1记忆函数是什么呢?让函数记住曾经计算过的参数对应的结果2那我们为什么使用记忆函数呢?答案是避免重复计算3在工作中如何使用和实现函数记忆?形成闭包,在闭包中维护一个哈希数组(其实就是对象),让哈希数组... 查看详情
学习云计算都要学什么?
云计算是一种基于互联网的计算方式,要实现云计算则需要一整套的技术架构去实施,包括网络、服务器、存储、虚拟化等等。云计算目前分为公有云和私有云。两者的区别只是提供的服务的对象不同,一个是企业内部使用,一... 查看详情
自学前端到底要学什么?五年老前端现身说法
其实,十年前,在业界前端开发都不配叫工程师,因为很多人感觉前端开发的工作很简单,就是写个样式,设计师就顺便把这个活干了,所以,当时前端开发在程序员心里地位是很低的。但是,随... 查看详情
0基础学软件测试都要学什么内容
0基础学软件测试要学哪些东西?从技能方面来分,一般有几个方面:首先就是计算机的通用知识,比如操作系统、计算机网络、Linux、数据库、shell脚本等;其次就是软件测试的基础知识,比如测试流程、... 查看详情
pmp要学多久,考试难吗?
首先PMP学习周期是2-3个月。其次PMP考试难度因人而异,业内公布的通过率是93%以上。PMP每年有4次考试,分别是3月、6月、9月、12月。报名时间一般提前1个半月。考试时间上午9:00-13:00,4个小时。PMP考试是中英文对照的,不需要担... 查看详情
pmp要学多久,考试难吗?
首先PMP学习周期是2-3个月。其次PMP考试难度因人而异,业内公布的通过率是93%以上。PMP每年有4次考试,分别是3月、6月、9月、12月。报名时间一般提前1个半月。考试时间上午9:00-13:00,4个小时。PMP考试是中英文对照的,不需要担... 查看详情
程序员快速技术提升之道
...平,推荐过一段时间去市场上面试一下,去被打击一下(不是真的要离职),就有动力了提醒技术开发人员(程序员)的职业生命期最多在10年内,如果几年内没有快速技术提升起来,后面转型就比较困难了,有人说我技术不太行可以去转做技... 查看详情