导航:首页 > 源码编译 > 前端工程师面试考编译原理吗

前端工程师面试考编译原理吗

发布时间:2022-12-18 02:53:05

⑴ web前端初级面试要求

作为一名HTML5前端工程师,为了工作,为了就业我们免不了要参加各种各样的面试。为此总结了面试前的注意事项:

第一:注意自己的仪容仪表

面试之前,一定要再次从头到脚地将自己的仪容仪表检查一遍。检查时主要包括,自己的牙缝是不是还有食物残渣,所以你需要就近找一个卫生间,如果没有卫生间就近找一个角落也是可以的,但是切记一定不要在大庭广众之下。因此,为了给自己整理出着装的时间请在约定时间前20分钟到达。

第二:再次检查面试时所需的资料是否都已带全

这些资料主要包括:身份证明、学历文凭证明、个人简历、以往作品等等,如果这些东西齐全之后,需要对这些资料做一个整理与排序。因为没有哪个面试官希望看到面试者拿出一堆“莫名其妙”的东西塞给他,让他自己再一页一页地翻找自己需要的内容,如果说这些资料在面试官手中不小心散落一地,结果可想而知。这样的求职者在面试官眼中也一定不是一个让人放心、有条不紊的员工。当然如果检查时发现资料没有带全,也不要紧张。反而你要庆幸幸亏及时检查,也有足够的时间组织语言去向面试官解释。

第三:面试之前将通信工具调成振动或关闭状态

虽然说面试者与面试官之间是一个平等的关系,但毕竟你是去人家公司求职的,始终处于一个被动的状态,所以最起码的尊重还是要做到的。曾经有调查显示,对于面试过程中接电话或是被电话打断的求职者,会被HR减分。

第四:等候面试官时,仔细观察多了解面试公司

在等候面试官时,可以暗自观察一下公司的大体情况比如员工的着装风格、公司的LOGO或是贴在墙上的企业文化、公司的环境等等,一来可以在接下来的面试过程中表现出自己对公司的认同感,二来也可以让自己对求职公司多些了解,以确定是否要接受这里的工作。如果你身边有公司的资料宣传架,不妨取一本翻看一下,也会增加HR对你的好感。

第五:放松心情,保持自信

面试时一定要保持一定的自信,这样也会给面试官留下很好的印象。面试只是你步入工作的第一步,即便是失败了那也是人生重要的经历。失败是为了更好地迎接下一个挑战。

作为一名web前端工程师千万不要觉得懂技术面试就能万事大吉了,像以上五点细节性的东西也是一定要掌握的。

⑵ 作为一名web前端工程师需要具备什么技能

1、HTML
HTML页面固定,标签不多,学起来比较容易,这也是很多零基础转行IT首选前端的主要原因。HTML是页面结构的基础组成部分,是网站的基础,编写HTML代码需遵循HTML代码规范,臃肿混乱的HTML代码不但会影响其本身的表现,而且与其对应的CSS和java代码也会变得难以编写和维护。
2、CSS
CSS负责网页类容的表现,也是前端开发需要掌握的核心内容之一。CSS和HTML代码一样,没用复杂的逻辑,上手也比较容易,其主要难点在于如何合理利用CSS的组合和继承特性来编写简洁,维护性好的CSS代码。
3、Java
Java是一种基于对象和事件驱动的客户端脚本语言,是页面实时动态交互的技术基础。开发人员在熟悉Java基本语法和基本的编码规范之外,还应该了解并解决在不同浏览区中Java的兼容性问题。另外,目前流行的Web编程方式会有部分后端代码存在于前端页面中,和前端HTML、Java等混合在一起,如PHP、JSP、ASP.NET等,因此,前端开发工程师也有必要了解一些后端编程技术。
4、跨平台、跨浏览器
跨平台指移动设备(如智能手机和平板电脑)和PC端;
随着IE6,IE7市场占有率下降和众多浏览器标准的重视,目前流行的前端框架已经很好滴解决了浏览器兼容问题。尽管如此,还需熟悉常见的浏览器兼容问题,如IE7、IE8的兼容,HTML5中新特性的兼容等。
5、前端框架
前端框架的出现在很大程度上降低了前端开发的难度,框架统一了编码的方式,封装了浏览器兼容问题并添加了大量的扩展功能。目前比较常用的前端开源框架有很多,比如jQuery(Java库)、angular2、vue.js、react等。
6、调试工具
对于前端代码,在调试过程中需要查看HTML结构变化,CSS渲染效果,Java代码执行情况以及HTTP请求和返回的数据,并了解网站各部分的性能等。主流浏览器都有对应的浏览器插件来辅助完成这个工作,如IE中的IE
Dev Toolbar、Chrome中的Developer Tools、Firefox中的Firebug等。
7、实战经验
企业在招聘的过程中都想要选出上手即用的前端人才,这就需要求职者具备相应的开发经验、能够很快的接手工作。因此如果你想要学习Web前端,不仅要掌握理论知识,更要注重积累实战经验。
8、沟通表达能力
求职面试需要好的表达能力,在日常工作中前端人员也要具备好的沟通能力。Web前端是介于UI和后端逻辑开发之间的岗位,需要与UI设计师沟通确定效果,还需要和后端工程师沟通确定前后端交互,良好的沟通让你这些过程变得轻松许多。

⑶ hr如何面试web前端工程师,该问哪些技术问题

一、基本知识

我们生活在互联网时代,你想知道的任何事情几乎都能在15分钟内找到相关信息。可是,能找到信息并不等于你会使用它。我认为所有前端工程师至少都应 该掌握某些基本的知识,才能有效地完成自己的工作。如果一遇到问题,就停下工作上网四处搜索解决方案,怎么可能保证按期完成工作呢?听听,还有谁在说“我 不知道,但我可以上网搜到。”请这些同学把手举起来,让大家认识一下(immediately raises a flag for me.)。下面我列出一些基本的知识点,这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的。
[list][*]
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
[*]
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
[*]
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
[*]
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
[*]
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
[*]
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
[*]
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
[*]
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
[*]
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
[*]
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
[/list]
重申一下,上述这些知识点都应该是你应该“想都不用想”的东西。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来。

二、少量提问

我非常赞同面试者问的问题越少越好。反复问应聘者各种问题既不公平,也很无聊。我在任何一次面试中,通常只问三个大问题,但每个问题又会涉及我所能想到的多个方面。回答每个大问题一般要经过几个步骤,这样我就可以在每个步骤中穿插着问一些小问题。比如说:

现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。

这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区 别、安全问题、容量问题,等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把 关于库的知识作为评判能力的因素,因为库是会随时间变化的。我需要的是真正理解库背后的机制,特别是能够徒手写出一个自己的库的人。

三、解决问题

做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘 者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到 两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都 明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够 好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
对一名前端工程师来说,这绝对是最重要的能力。前端工程师在工作中遇到本该如此却并未如此的难题(说你啦,IE6),应该说是一件很平常的事。一个方案无效就无计可施的人,做不了前端工程师。
考核应聘者解决问题能力的另一层原因,与我的个人喜好有关。在搞清楚应聘者知道什么不知道什么之后,我就会想着问一个他们知识领域之外的问题。这样 做的目的,就是想看看他们怎样运用已有的知识解决新问题。在解决问题的每一步,我也准备了一些提示,以防有人会卡壳打艮(在我面前15分钟一言不发,对我 评价这个人毫无帮助)。我真正感兴趣的,是他们能够从上一步前进到下一步。我希望看到一个人就在我眼前学到新知识。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像(或者让刘翔跟博尔特同场竞技),没有意义,也得不到任何有价值的信息。

⑷ web前端面试笔试的时候可以百度吗

不可以的,编译程序员平时写代码,干的最多的事儿恐怕就是编译了.编译是把代码从人看能看懂的东西翻译成机器能懂的东西的过程,其实本质没变,千锋软件开发培训课程的授课模式采用全程面授,讲师成本虽高,但是效果却是显着的,和学员面对面沟通,了解到学员在学习过程中遇到的问题,动态地调整授课方式。千锋教育就有线上免费的软件开发公开课,
换了一种存在形式而已.编译看起来简单,实际上是个很复杂的过程.记得上学的时候有门课叫《编译原理》,果果也是被它折磨的欲仙欲死的.所幸现在主流的开发平台都有非常成熟的编译工具,比如Android用的gradle,前端用千锋教育集团目前已与国内4000多家企业建立人才输送合作,与500多所大学建立实训就业合作,每年为各大企业输送上万名移动开发工程师,每年有数十万名学员受益于千锋教育组织的技术研讨会、技术培训课、网络公开课及免费教学视频。

⑸ 前端工程师为什么要学习编译原理

不学程序编译原理也可以当程序员,就像有些人不认识汉字,普通话照像说的很棒一样。

⑹ Web前端面试的常见面试题汇总

今天小编要跟大家分享的文章是关于参加Web前端面试的常见面试题汇总。准备参加Web前端面试的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

1.渐进增强与优雅降级


渐进增强
并不是一种技术,而是一种设计思想。各个浏览器的渲染能力各不相同,要做一个每个人都能看到的网页、感受到的体验都一致的网站几乎不可能。但还是得网站的可访问性,保证用户在任何环境下都能正常访问网页得核心内容或能使用基本功能(避免网页打不开、排版错误等),并为他们提供当前条件下最好的体验,这就是渐进增强得核心思想。


优雅降级也是一种设计思想,为了保证在高版本浏览器中提供最好的体验,碰到低版本浏览器再降级进行兼容处理,使其能正常浏览。


这两种思想的区别在于:


1.渐进增强是向上兼容,优雅降级是向下兼容;


2.渐进增强是从简单到复杂,优雅降级是从复杂到简单;


3.渐进增强关注的是内容(保证核心内容),优雅降级关注的是浏览体验(为了兼容低版本浏览器)


2.DOCTYPE














作用


DTD(DocumentTypeDefinition,文档类型定义)是一系列的语法规则,用来定义XML或(X)HTML
的文档类型。浏览器会使用它来判断文档类型,决定何种协议来解析,以及切换浏览模式。


DOCTYPE是用来声明文档类型和DTD
规范的,一个主要的用途便是文件的合法性验证。如果文档代码不合法,那么浏览器解析时便会出现一些差错。


HTML5的文档类型声明:





HTML4.01Strict(HTML4.01严格模式)的DTD包含所有HTML
元素和属性,但不包括展示性的和弃用的元素(如font),它的文档类型声明:


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


标准模式与怪异模式


怪异模式(Quirks
Mode)用于模拟旧浏览器的行为。早期的网站并不会遵循完整的规范,随着浏览器支持越来越多的规范,在那些旧的浏览器中开发的页面在显示时会被破坏。为了向后兼容,浏览器发明了怪异模式,一行错误或无效的
DOCTYPE都会触发怪异模式。


浏览器使用文件开头的DOCTYPE来决定用怪异模式处理或标准模式处理。DOCTYPE
可以确保不同浏览器以相同的方式解析文档,以及执行相同的渲染模式。


怪异模式与标准模式的主要区别:


1.怪异模式的宽度和高度会包含padding和border。标准模式不包含,标准模式下可以通过设置box-sizing:
border-box将标准盒模型转化成怪异模式下的盒模型。


2.怪异模式下,当内容超出容器高度时,会将容器拉伸,而不是溢出。


3.怪异模式下,在表格中的字体样式(如font-size)不会继承。


4.怪异模式下颜色值必须使用十六进制标记法。


3.语义化


HTML5
中的语义化就是让元素、属性或属性值有含义,更准确地标记特定类型的内容。对元素语义化的目的是为了让元素的语义和呈现分离,元素只负责文档内容的结构与含义,而CSS
样式控制内容的呈现,像元素,没有语义但却能将字体变粗,这类元素违背了语义化的目的,将会被废弃。


优点


·使得HTML文档结构清晰、布局合理、主体突出、可读性更强。


·有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。


·方便其他设备解析,如盲人阅读器根据语义渲染网页。


·有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。


语义化标签


·
定义文档的页眉区域,应作为介绍内容或者导航链接栏的容器;


·footer内容的页脚,通常包含该章节作者、版权数据或者与文档相关的链接等信息;


·article
文档、页面、应用或网站中的独立结构,是可独立分配的、可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目;


·nav描述一个含有多个超链接的区域,该区域包含跳转到其他页面或页面内部其他部分的链接列表;


·section表示文档中的一个区域(或节),比如,内容中的一个专题组;


·main定义文档的主要内容,该内容在文档中应当是独一无二的,不包含任何在文档中重复的内容,比如侧边栏,导航栏链接,版权信息,网站
logo,搜索框(搜索框作为文档的主要内容);


·aside
表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分且可以被单独的拆分出来而不会影响整体。通常表现为侧边栏或嵌入内容。


4.超链接伪类


:link、:visited、:active和:hover的声明顺序是怎样的?


:link表示未访问的链接状态;


:visited表示已访问状态;:active表示激活状态(鼠标按下);:hover表示悬停状态。


推荐顺序是LVHA,即:link:visited:hover:active。理由如下:


·当鼠标悬停在未访问的链接上时,:link和:hover都会命中,如果:hover在:link
之前声明,那么(:hover)就会被覆盖;


·当鼠标悬停在已访问的连接上时,:visited和:hover都会命中,如果:hover在:visited
之前声明,那么(:hover)就会被覆盖;


·当鼠标单击链接时,:active和:hover都会命中,我们大多是想让:hover只在悬停时展示样式,按下鼠标时使用:active
样式,因此:active在:hover之后声明;


·综上,:hover应在:link和:visited之后,在:active之前,因此active在最后。而:link和
:visited两者的顺序无所谓,互不影响。


5.CSS常见的长度单位


CSS中除了px长度单位之外,还有下面几个长度单位:


·pc六分之一英寸,1pc=12pt=1/6*1in=16px;


·pt一磅,72分之一英寸。1pt=1/12_1pc=1/72_1in≈1.33px;


·in一英寸,1in=2.54cm=96px;


·ex在含有“X”字母的字体中,它是该字体的小写字母的高度。对于很多字体来说,1ex≈0.5em;


·em1em等于父级元素的字体大小,2em就是父级元素字体大小的二倍;


·rem当用在根元素()的font-size上面时,它代表了它的初始值;


·ch代表元素所用字体font中“0”这一字形的宽度;


·vh1vh相当于视口高度的1%,100vh就是视口的高度;


·vw1vw相当于视口宽度的1%,100vw就是视口的宽度;


·vmax视口高度vw和宽度vh两者中的最小值


·vmin视口高度vw和宽度vh两种中的最大值;


·%相对于父级元素的大小来确定;


参考:CSS[1]


CSSpercentage[2]


6.事件对象


冒泡与捕获


事件冒泡与捕获是事件处理的两种机制,主要描述当在一个元素上有两个相同类型的事件处理器被激活会发生什么。


在点击子元素时,浏览器运行了两种不同的阶段:捕获阶段和冒泡阶段。捕获阶段的行为:


·浏览器检查元素的最外层祖先,是否在捕获阶段中注册了一个onclick事件处理程序,如果是,则运行它;


·
然后,它移动到中单击元素的下一个祖先元素,并执行相同的操作,然后是单击元素再下一个祖先元素,依此类推,直到到达实际点击的元素;


而冒泡与捕获恰恰相反:


·浏览器检查实际点击的元素是否在冒泡阶段中注册了一个onclick事件处理程序,如果是,则运行它;


·然后它移动到下一个直接的祖先元素,并做同样的事情,然后是下一个,等等,直到它到达元素;


而现代浏览器在默认情况下,所有事件处理程序都在冒泡阶段进行注册。因此上面代码在点击子元素时会先执行子元素绑定的事件,然后向上冒泡,触发父元素绑定的事件。


addEventListener函数的第三个参数是个布尔值。含义:


·当布尔值是false时(这也是默认值),表示向上冒泡触发事件;


·当布尔值是true时,表示向下捕获触发事件;


不能冒泡的事件


有些事件是不会冒泡的。比如:


·blur元素失去焦点时触发,focusout事件也是失去焦点时触发,但可以冒泡;


·focus元素获取焦点时触发;


·mouseenter鼠标移动到元素上时会触发该事件,与之对应的是mouseover事件,但会冒泡;


·mouseleave鼠标离开元素时触发,与之对应的是mouseout,但会冒泡;


事件冒泡可以让我们利用事件委托,尤其是处理大量子元素时,如果给每个子元素都绑定事件,这是不优雅的,可以将事件绑定到父元素上,并让子节点上发生的事件冒泡到父节点上,利用
e.target属性可以获取到当前触发事件的子元素。


事件对象中的方法


·stopPropagation()阻止事件冒泡,当设置后,点击该元素时父元素绑定的事件就不会再触发;


·preventDefault()阻止默认事件的发生;


·stopImmediatePropagation()它用来阻止监听同一事件的其他事件监听器被调用以及阻止事件冒泡,比如给同一个div
元素绑定多个click事件(使用addEventListener方法可以注册多个),当在第二个事件函数中调用
stopImmediatePropagation方法时,点击div元素时,后面注册的click将不会被触发,而且还会阻止事件冒泡;


比如下面的例子,给p绑定多个click事件,在第二个事件函数中调用stopImmediatePropagation,第三个click
事件就不会触发,因为也阻止了冒泡,因此父元素的click事件也不会触发。





paragraph




⑺ 前端工程师需要掌握哪些技能

首先作为前端工程师,掌握前端基础是最重要的,如果基础不扎实,一切应用技能就都是“浮云”。前端的基础是HTML、CSS、JavaScript基本功,数学、算法、数据结构、操作系统、编译原理基本功。另外必须要有自己擅长的领域,并且钻研得足够深入,同时要有眼界,能“跨界”。可以以前端作为职业,但千万不要把自己的技能限制在前端领域,因为有很多东西,只有站在前端之外,才能看得更清晰更透彻。个人认为首先对前端行业有个大体的了解,制定一份规划,学习之前可以多去了解考察如u就业,选择一份适合自己的课程,还要多写一些代码。

⑻ 如何成为前端工程师

一、技术的必须的

作为一名最基础的前端工程师你必须掌握HTML、CSS和JavaScript。三者必须同时精通,类似我字样对前端知识一知半解的,一遇到问题就停下工作就四处搜索解决方案的,首先就算不上一个合格的前端人员。像我这样的如果当了前端工程师那工期肯定是不能保证的。合格的前端工程师第一要学会的就是在没有任何外来帮助的情况下(包括搜索引擎),能够完成大多数任务。

以下知识点是作为一个前端工程师必须了解和熟悉的:

  • DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。

  • DOM操作——怎样添加、移除、移动、复制、创建和查找节点。

  • 事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。

  • XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。

  • 严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。

  • 盒模型——外边距、内边距和边框之间的关系,IE < 8中的盒模型有什么不同。

  • 块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。

  • 浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。

  • HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。

  • JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。

  • 上述这些知识点都应该是你“想都不用想”就知道的东西。除了上述的前端知识,也还需学会至少一门后端编程语言,让你自己学会如何与后端进行更好的交互。

    很多前端工程师对一些库非常的熟悉,jQuery,Bootstrap等,但是对于库的熟悉并不能提现你的优秀,整整优秀的是那些理解库背后的机制,特别是能够徒手写出一个自己的库的人。

    真正合格的前端工程师是能实现具体的功能要求,而优秀的前端工程师需要解决的问题是寻找一个最优的解决方案。

    二、沟通很重要

    优秀的前端工程师需要具备良好的沟通能力,因为你的工作与很多人的工作息息相关。在任何情况下,前端工程师至少都要满足下列四类客户的需求。

  • 产品经理——这些是负责策划应用程序的一群人。他们能够想象出怎样通过应用程序来满足用户需求,以及怎样通过他们设计的模式赚到钱(但愿如此)。一般来说,这些人追求的是丰富的功能。

  • UI设计师——这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。

  • 项目经理——这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间——应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。

  • 最终用户——当然是应用程序的主要消费者。尽管我们不会经常与最终用户打交道,但他们的反馈意见至关重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。

  • 不要在没有作出评估之前就随便接受某项任务。你必须始终记住,一定先搞清楚别人到底想让你干什么,不能简单地接受“这个功能有问题”之类的大概其的说法。而且,你还要确切地知道这个功能或设计的真正意图何在。“加一个按钮”之类的任务并不总意味着你最后会加一个按钮。还可能意味着你会找产品经理,问一问这个按钮有什么用处,然后再找UI设计师一块探讨按钮是不是最佳的交互手段。要成为优秀的前端工程师,这种沟通至关重要。

    那么,前端工程师应该最关注哪些人的意见呢?答案是所有这四类人。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,然后在此基础上拿出最佳解决方案。由于前端工程师处于与这四类人沟通的交汇点上,因此其沟通能力的重要性不言而喻。如果一个非常酷的新功能因为会影响前端性能,必须删繁就简,你怎么跟产品经理解释?再比如,假设某个设计如果不改回原方案可能会给应用程序造成负面影响,你怎么才能说服UI设计师?作为前端工程师,你必须了解每一类人的想法从何而来,必须能拿出所有各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,需要时刻抱着外交官的心态来应对每一天的工作。

    专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。

    三、提升无止境

    优秀的前端工程师应该具备快速学习能力。推动Web发展的技术并不是静止不动的,这些技术几乎每天都在变化,如果没有快速学习能力,你就跟不上Web发展的步伐。你必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而你的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。

    四、前端开发知识架构

  • 前端工程师

  • SVG/Canvas/VML

  • D3/Raphaël/DataV

  • 知识管理/总结分享

  • 沟通技巧/团队协作

  • 需求管理/PM

  • 交互设计/可用性/可访问性知识

  • 编译原理

  • 计算机网络

  • 操作系统

  • 算法原理

  • 软件工程/软件测试原理

  • D2/WebRebuild

  • NodeParty/W3CTech/HTML5梦工厂

  • JSConf/沪JS(JSConf.cn)

  • QCon/Velocity/SDCC

  • JSConf/NodeConf

  • YDN/YUIConf

  • MongoDB/CouchDB

  • HTML5/CSS3

  • 响应式设计

  • Zeptojs/iScroll

  • V5/Sencha Touch

  • PhoneGap

  • jQuery Mobile

  • CSRF/XSS

  • ADsafe/Caja/Sandbox

  • 类库模块化

  • 业务逻辑模块化

  • 文件加载

  • CommonJS/AMD

  • YUI3模块

  • LABjs

  • SeaJS/Require.js

  • 压缩合并

  • 文档输出

  • 项目构建工具

  • YUI Compressor

  • Google Clousure Complier

  • CleanCSS/UglifyJS

  • JSDoc

  • Dox/Doxmate

  • make/Ant

  • GYP

  • Grunt

  • Yeoman

  • 数据结构

  • OOP/AOP

  • 原型链/作用域链

  • 闭包

  • 函数式编程

  • 设计模式

  • Javascript Tips

  • JSPerf

  • YSlow 35 rules

  • PageSpeed

  • HTTPWatch

  • DynaTrace’s Ajax

  • 高性能JavaScript

  • HTTP1.1

  • ECMAScript3/5

  • W3C/DOM/BOM/XHTML/XML/JSON/JSONP

  • CommonJS/AMD

  • HTML5/CSS3

  • jQuery/Underscore/Mootools/Prototype.js

  • YUI3/Dojo/ExtJS

  • Backbone/KnockoutJS/Emberjs

  • Coding style

  • 单元测试

  • 自动化测试

  • JSLint/JSHint

  • CSSLint

  • Markup Validation Service

  • QUnit/Jasmine

  • Mocha/Should/Chai

  • WebDriver

  • IDE

  • 调试工具

  • 版本管理

  • VIM/Sublime Text2

  • Notepad++/EditPlus

  • WebStorm

  • Firebug/Firecookie

  • YSlow

  • IEDeveloperToolbar/IETester

  • Fiddler

  • Git/SVN

  • Github/Bitbucket/Google Code

  • HTML/HTML5

  • CSS/CSS3

  • PhotoShop/Paint.net

  • JavaScript/Node.js

  • JavaScript语言精粹

  • IE6/7/8/9

  • Firefox

  • Chrome/Safari/Opera

  • 浏览器

  • 编程语言

  • 切页面

  • 开发工具

  • 代码质量

  • 前端库/框架

  • 前端标准/规范

  • 性能

  • 编程知识储备

  • 部署流程

  • 代码组织

  • 安全

  • 移动Web

  • JavaScript生态

  • 前沿技术社区/会议

  • 计算机知识储备

  • 软技能

  • 可视化

  • 后端工程师

  • Unix/Linux/OS X/Windows

  • SQL

  • MySQL/MongoDB/Oracle

  • C/C++/Java/PHP/Ruby/Python/…

  • 编程语言

  • 数据库

  • 操作系统

  • 数据结构

  • 参考链接:

    http://www.cn-cuckoo.com/2010/01/10/nicholas-c-zakas-talk-about-what-makes-a-good-front-end-engineer-1356.html

    JacksonTian/fks · GitHub

⑼ 如何面试前端工程师

随着时代的发展,很多新兴的就业职位随之产生。前端工程师将就是随着互联网的快速发展而产生的。其实在很多人的观念里,前端工程师也就是一个切页面的而已,他们也就是会html、css、javascript这些没有任何技术含量的网页制作而已。然而随着技术飞速发展,人们对这些技术的要求也是越来越高,如果只凭着一个人来把所有的事情都解决是很困难的,所以这个时候前端工程师就开始发挥着他们很大的作用了。

那我们应该如何来面试前端工程师呢?

  • 谈吐要大方得体

在我们在面对面试官时我们千万不要紧张。在进行自我介绍时我们要努力做到自信大方、吐字清晰。我们在自我介绍时要用简明扼要的话语来介绍自己,突出自己的优点表明自己的求职意向。你要通过寥寥数语把自己的优势都向面试官介绍清楚。记住不必要的话语要少说。

好了关于如何面试前端工程师这个话题我就聊到这了。希望我的回答能对你有所帮助。

与前端工程师面试考编译原理吗相关的资料

热点内容
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:695
© Arrange www.craffts.com 2012-2022
温馨提示:资料来源于互联网,仅供参考