原文链接: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
- 数据结构
- 编程语言
相关推荐
成为一名优秀的前端工程师,不仅需要扎实的技术基础,还需要不断学习新知识和技能,适应快速变化的互联网环境。前端工程师的工作是构建网页和应用的用户界面,将设计转化为可交互的网页,涉及编程、布局、跨浏览器...
作为一名合格的前端工程师,其工作职能涵盖了多个方面,包括日常开发、新技术研究与分享以及团队培训...在这样的角色定位下,不断提升自我,保持技术敏锐性,以及良好的团队合作精神,是一名优秀前端工程师必备的素质。
成为一名优秀的全栈工程师,意味着你需要具备广泛而深入的技能,涵盖软件开发的多个层面。全栈工程师不仅要精通前端和后端开发,还需要了解项目管理、架构设计和用户体验等多个领域。以下是一些关键知识点: 1. **...
最后,前端开发不仅仅是编写代码,良好的代码组织、文档编写、测试习惯也是优秀前端工程师必备的素养。持续学习和跟踪最新技术趋势,如WebAssembly、Web Components、Service Worker等,能帮助你在前端领域保持竞争...
总结来看,一名优秀的前端开发工程师需要具备如下的核心技能: 1. 熟练掌握一种或多种前端框架,如VueJS。 2. 精通HTML5和CSS3,了解新的语义元素和样式特性。 3. 熟悉响应式设计,能使用Bootstrap或其他框架构建多...
要成为一名优秀的前端工程师,需要具备一系列的技术能力和实践经验。以下列举了一些关键技能: 1. **HTML**:HTML(超文本标记语言)是构成网页的基础,它用于定义页面的结构和内容。前端工程师需要熟练掌握HTML的...
成为一名优秀的爬虫工程师需要深入理解和掌握一系列技术和技能。首先,我们需要明确爬虫工程师的基本定义:他们利用互联网技术或工具,抓取网站或应用程序中的数据,然后进行结构化存储。随着大数据行业的快速发展,...
总而言之,张三作为一名初级Web前端工程师,已经具备了成为一名优秀Web前端工程师的所有潜质。在未来的日子里,我们期待看到他在技术领域持续探索和成长,为用户带来更加丰富多彩的互联网体验。
阿里巴巴2013年的校园招聘前端...这些是阿里巴巴笔试题中涉及的关键前端知识点,它们对于成为一名优秀的前端工程师至关重要。通过深入理解和实践这些内容,开发者可以提升自己的技术水平,更好地应对实际项目中的挑战。
综合这些方面的知识和技能,一名优秀的前端开发人才需要长时间的积累和实践,因此行业对这类复合型前端人才的需求十分迫切。针对那些希望快速成长的前端新手来说,本书不仅提供了一个修炼的路径图,而且是一份重要的...
【前端工程师必读手册1】深入理解JavaScript引擎执行过程 前端开发中,JavaScript语言的执行机制是基础且关键的部分。本手册将详细讲解JavaScript在引擎级别...不断学习和实践,是成为一名优秀前端工程师的必经之路。
田琦作为一名热爱学习和尝试新事物的前端工程师,有着扎实的理论基础和实践经验,能够在前端开发领域展现出全面的能力,致力于成为一名全栈工程师。他的丰富经历和广泛技能集使他成为IT行业的有力竞争者。
本文将探讨这一转变过程中的挑战与机遇,并介绍成为一名合格前端工程师所需掌握的关键技术和工具。 #### 前端必备技术 ##### JavaScript JavaScript作为前端开发的核心语言,是所有前端工程师必须掌握的基础。无论...
卢景祎的经历向我们证明了,成为一名优秀的前端工程师,不仅需要扎实的技术功底,还需要不断学习新技术的热情和追求创新的决心。他对前端开发的热爱和对技术的不懈追求,使他成为了一个值得尊敬的行业精英。通过不断...
总之,成为一名优秀的前端工程师,需要持续学习和实践,掌握HTML、CSS、JavaScript的基础,同时了解和掌握最新的前端框架和技术趋势,如Vue.js、React.js、Angular.js等,以及与之配套的开发工具和方法。这样才能在...
总的来说,成为一名优秀的前端工程师不仅需要扎实的技术基础,还需要良好的沟通能力、问题解决能力和持续学习的精神。通过充分的准备和积极的态度,你将在面试中展现出最佳状态,增加成功的机会。
综上所述,陈燕清作为一位拥有1-3年经验的Web前端工程师,具备丰富的技术栈、实际项目经验和良好的职业素养,是一名理想的Web开发工程师候选人。他的简历充分展示了他在前端领域的深度和广度,以及持续学习和适应...
### JavaScript Web前端工程师知识点概述 根据提供的文档信息,可以提炼出关于...综上所述,成为一名优秀的JavaScript Web前端工程师不仅需要扎实的技术功底,还需要不断学习新知识、积累实战经验和提升个人综合素质。
在前端工程师的学习与面试准备过程中,掌握扎实的基础知识和最新的技术趋势至关重要。这份"前端工程师学习资料"压缩包,...通过系统学习和实践,你将能够更好地应对前端开发中的各种挑战,成长为一名优秀的前端工程师。
以上知识点涵盖了前端工程师面试中的基础部分,深入理解和熟练运用这些技术是成为一名优秀前端工程师的关键。同时,面试中还可能涉及Vue.js组件化开发、JavaScript异步编程、CSS布局和动画等方面的知识。