原文链接:http://www.kuqin.com/webpagedesign/20130620/334604.html
一、技术的必须的
作为一名最基础的前端工程师你必须掌握HTML、CSS和JavaScript。三者必须同时精通,类似我字样对前端知识一知半解的,一遇到问题就停下工 作就四处搜索解决方案的,首先就算不上一个合格的前端人员。像我这样的如果当了前端工程师那工期肯定是不能保证的。合格的前端工程师第一要学会的就是在没 有任何外来帮助的情况下(包括搜索引擎),能够完成大多数任务。
以下知识点是作为一个前端工程师必须了解和熟悉的:
- DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
- DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
- 事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
- XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
- 严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
- 盒模型——外边距、内边距和边框之间的关系,IE < 8中的盒模型有什么不同。
- 块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
- 浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
- HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
- JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
上述这些知识点都应该是你“想都不用想”就知道的东西。除了上述的前端知识,也还需学会至少一门后端编程语言,让你自己学会如何与后端进行更好的交互。
很多前端工程师对一些库非常的熟悉,jQuery,Bootstrap等,但是对于库的熟悉并不能提现你的优秀,整整优秀的是那些理解库背后的机制,特别是能够徒手写出一个自己的库的人。
真正合格的前端工程师是能实现具体的功能要求,而优秀的前端工程师需要解决的问题是寻找一个最优的解决方案。
二、沟通很重要
优秀的前端工程师需要具备良好的沟通能力,因为你的工作与很多人的工作息息相关。在任何情况下,前端工程师至少都要满足下列四类客户的需求。
- 产品经理——这些是负责策划应用程序的一群人。他们能够想象出怎样通过应用程序来满足用户需求,以及怎样通过他们设计的模式赚到钱(但愿如此)。一般来说,这些人追求的是丰富的功能。
- UI设计师——这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。
- 项目经理——这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间——应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。
- 最终用户——当然是应用程序的主要消费者。尽管我们不会经常与最终用户打交道,但他们的反馈意见至关重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。
不要在没有作出评估之前就随便接受某项任务。你必须始终记住,一定先搞清楚别人到底想让你干什么,不能简单地接受“这个功能有问题”之类的大概其的说法。 而且,你还要确切地知道这个功能或设计的真正意图何在。“加一个按钮”之类的任务并不总意味着你最后会加一个按钮。还可能意味着你会找产品经理,问一问这 个按钮有什么用处,然后再找UI设计师一块探讨按钮是不是最佳的交互手段。要成为优秀的前端工程师,这种沟通至关重要。
那么,前端工程师应该最关注哪些人的意见呢?答案是所有这四类人。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,然后在此基础上拿出最佳解决方 案。由于前端工程师处于与这四类人沟通的交汇点上,因此其沟通能力的重要性不言而喻。如果一个非常酷的新功能因为会影响前端性能,必须删繁就简,你怎么跟 产品经理解释?再比如,假设某个设计如果不改回原方案可能会给应用程序造成负面影响,你怎么才能说服UI设计师?作为前端工程师,你必须了解每一类人的想 法从何而来,必须能拿出所有各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,需要时刻抱着外交官的心态来应对每一天的工作。
专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。
三、提升无止境
优秀的前端工程师应该具备快速学习能力。推动Web发展的技术并不是静止不动的,这些技术几乎每天都在变化,如果没有快速学习能力,你就跟不上Web发展 的步伐。你必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而你的工作就是要搞清楚如何 通过自己的Web应用程序来体现这种翻天覆地的变化。
四、前端开发知识架构
- 前端工程师
- 浏览器
- IE6/7/8/9
- Firefox
- Chrome/Safari/Opera
- 编程语言
- JavaScript/Node.js
- JavaScript语言精粹
- 切页面
- HTML/HTML5
- CSS/CSS3
- PhotoShop/Paint.net
- 开发工具
- IDE
- VIM/Sublime Text2
- Notepad++/EditPlus
- WebStorm
- 调试工具
- Firebug/Firecookie
- YSlow
- IEDeveloperToolbar/IETester
- Fiddler
- 版本管理
- Git/SVN
- Github/Bitbucket/Google Code
- IDE
- 代码质量
- Coding style
- JSLint/JSHint
- CSSLint
- Markup Validation Service
- 单元测试
- QUnit/Jasmine
- Mocha/Should/Chai
- 自动化测试
- WebDriver
- Coding style
- 前端库/框架
- jQuery/Underscore/Mootools/Prototype.js
- YUI3/Dojo/ExtJS
- Backbone/KnockoutJS/Emberjs
- 前端标准/规范
- HTTP1.1
- ECMAScript3/5
- W3C/DOM/BOM/XHTML/XML/JSON/JSONP
- CommonJS/AMD
- HTML5/CSS3
- 性能
- JSPerf
- YSlow 35 rules
- PageSpeed
- HTTPWatch
- DynaTrace’s Ajax
- 高性能JavaScript
- 编程知识储备
- 数据结构
- OOP/AOP
- 原型链/作用域链
- 闭包
- 函数式编程
- 设计模式
- Javascript Tips
- 部署流程
- 压缩合并
- YUI Compressor
- Google Clousure Complier
- CleanCSS/UglifyJS
- 文档输出
- JSDoc
- Dox/Doxmate
- 项目构建工具
- make/Ant
- GYP
- Grunt
- Yeoman
- 压缩合并
- 代码组织
- 类库模块化
- CommonJS/AMD
- YUI3模块
- 业务逻辑模块化
- 文件加载
- LABjs
- SeaJS/Require.js
- 类库模块化
- 安全
- CSRF/XSS
- ADsafe/Caja/Sandbox
- 移动Web
- HTML5/CSS3
- 响应式设计
- Zeptojs/iScroll
- V5/Sencha Touch
- PhoneGap
- jQuery Mobile
- JavaScript生态
- MongoDB/CouchDB
- 前沿技术社区/会议
- D2/WebRebuild
- NodeParty/W3CTech/HTML5梦工厂
- JSConf/沪JS(JSConf.cn)
- QCon/Velocity/SDCC
- JSConf/NodeConf
- YDN/YUIConf
- 计算机知识储备
- 编译原理
- 计算机网络
- 操作系统
- 算法原理
- 软件工程/软件测试原理
- 软技能
- 知识管理/总结分享
- 沟通技巧/团队协作
- 需求管理/PM
- 交互设计/可用性/可访问性知识
- 可视化
- SVG/Canvas/VML
- D3/Raphaël/DataV
- 浏览器
- 后端工程师
- 编程语言
- C/C++/Java/PHP/Ruby/Python/…
- 数据库
- SQL
- MySQL/MongoDB/Oracle
- 操作系统
- Unix/Linux/OS X/Windows
- 数据结构
- 编程语言
相关推荐
成为一名优秀的前端工程师,不仅需要扎实的技术基础,还需要不断学习新知识和技能,适应快速变化的互联网环境。前端工程师的工作是构建网页和应用的用户界面,将设计转化为可交互的网页,涉及编程、布局、跨浏览器...
作为一名合格的前端工程师,其工作职能涵盖了多个方面,包括日常开发、新技术研究与分享以及团队培训...在这样的角色定位下,不断提升自我,保持技术敏锐性,以及良好的团队合作精神,是一名优秀前端工程师必备的素质。
最后,前端开发不仅仅是编写代码,良好的代码组织、文档编写、测试习惯也是优秀前端工程师必备的素养。持续学习和跟踪最新技术趋势,如WebAssembly、Web Components、Service Worker等,能帮助你在前端领域保持竞争...
成为一名优秀的全栈工程师,意味着你需要具备广泛而深入的技能,涵盖软件开发的多个层面。全栈工程师不仅要精通前端和后端开发,还需要了解项目管理、架构设计和用户体验等多个领域。以下是一些关键知识点: 1. **...
总结来看,一名优秀的前端开发工程师需要具备如下的核心技能: 1. 熟练掌握一种或多种前端框架,如VueJS。 2. 精通HTML5和CSS3,了解新的语义元素和样式特性。 3. 熟悉响应式设计,能使用Bootstrap或其他框架构建多...
要成为一名优秀的前端工程师,需要具备一系列的技术能力和实践经验。以下列举了一些关键技能: 1. **HTML**:HTML(超文本标记语言)是构成网页的基础,它用于定义页面的结构和内容。前端工程师需要熟练掌握HTML的...
成为一名优秀的爬虫工程师需要深入理解和掌握一系列技术和技能。首先,我们需要明确爬虫工程师的基本定义:他们利用互联网技术或工具,抓取网站或应用程序中的数据,然后进行结构化存储。随着大数据行业的快速发展,...
阿里巴巴2013年的校园招聘前端...这些是阿里巴巴笔试题中涉及的关键前端知识点,它们对于成为一名优秀的前端工程师至关重要。通过深入理解和实践这些内容,开发者可以提升自己的技术水平,更好地应对实际项目中的挑战。
总的来说,刘先生作为一位应届毕业生,具备了成为一名优秀前端工程师的必备技能,包括基础编程语言、前端框架、版本控制工具以及实际项目经验。他的自我评价和实际项目展示了他在学习和实践中不断提升自己的能力,...
综合这些方面的知识和技能,一名优秀的前端开发人才需要长时间的积累和实践,因此行业对这类复合型前端人才的需求十分迫切。针对那些希望快速成长的前端新手来说,本书不仅提供了一个修炼的路径图,而且是一份重要的...
【前端工程师必读手册1】深入理解JavaScript引擎执行过程 前端开发中,JavaScript语言的执行机制是基础且关键的部分。本手册将详细讲解JavaScript在引擎级别...不断学习和实践,是成为一名优秀前端工程师的必经之路。
田琦作为一名热爱学习和尝试新事物的前端工程师,有着扎实的理论基础和实践经验,能够在前端开发领域展现出全面的能力,致力于成为一名全栈工程师。他的丰富经历和广泛技能集使他成为IT行业的有力竞争者。
本文将探讨这一转变过程中的挑战与机遇,并介绍成为一名合格前端工程师所需掌握的关键技术和工具。 #### 前端必备技术 ##### JavaScript JavaScript作为前端开发的核心语言,是所有前端工程师必须掌握的基础。无论...
总之,成为一名优秀的前端工程师,需要持续学习和实践,掌握HTML、CSS、JavaScript的基础,同时了解和掌握最新的前端框架和技术趋势,如Vue.js、React.js、Angular.js等,以及与之配套的开发工具和方法。这样才能在...
总的来说,成为一名优秀的前端工程师不仅需要扎实的技术基础,还需要良好的沟通能力、问题解决能力和持续学习的精神。通过充分的准备和积极的态度,你将在面试中展现出最佳状态,增加成功的机会。
"卢景祎-前端工程师-河北民族师范学院1" 卢景祎是一名有着丰富经验的...卢景祎是一名非常优秀的前端工程师,拥有丰富的技术栈和项目经验。他总是追求学习新的技能和知识,热爱前端开发,并不断提高自己的技术实力。
综上所述,陈燕清作为一位拥有1-3年经验的Web前端工程师,具备丰富的技术栈、实际项目经验和良好的职业素养,是一名理想的Web开发工程师候选人。他的简历充分展示了他在前端领域的深度和广度,以及持续学习和适应...
### JavaScript Web前端工程师知识点概述 根据提供的文档信息,可以提炼出关于...综上所述,成为一名优秀的JavaScript Web前端工程师不仅需要扎实的技术功底,还需要不断学习新知识、积累实战经验和提升个人综合素质。
在前端工程师的学习与面试准备过程中,掌握扎实的基础知识和最新的技术趋势至关重要。这份"前端工程师学习资料"压缩包,...通过系统学习和实践,你将能够更好地应对前端开发中的各种挑战,成长为一名优秀的前端工程师。
以上知识点涵盖了前端工程师面试中的基础部分,深入理解和熟练运用这些技术是成为一名优秀前端工程师的关键。同时,面试中还可能涉及Vue.js组件化开发、JavaScript异步编程、CSS布局和动画等方面的知识。