⑴ 前端面试一般问什么
前段面试一般的来说面试官是想了解你的基本沟通能力和大体的处事性格和能力
⑵ 面试前端 面试官问我懂不懂flash
面试前端 ,
面试官问你懂不懂flash,
那么以后的工作可能涉及flash,
你如实回答就行,
以后也可以努力去学习!
⑶ 前端面试需要准备什么
首先前端的专业知识和技能你最好得会,其次,就是带着你的作品去面试,然后不断的学习研究,做别人没有的产品或者没法实现的公司去面试,那么你会很高薪,当然,工龄还是需要的,所以不要轻易跳槽
⑷ 前端面试到成功 你们大约需要多长时间
从前端面试到成功,一般要三个小时左右
如果是我面试,就给应聘者一个开放的内项目,可以提供服务容器端API或数据服务,限定一周时间,这叫试做。然后,根据评审确定入围的人,再面试。面试可以围绕项目展开,首先让面试者围绕HTML、CSS和JavaScript讲一讲设计思路、实现过程、遇到了什么困难,如何解决的,最终实现方案与设计有什么出入,有什么收获,等等。然后再根据项目中的不足有针对性地提问测试,考察面试者的实际经验和解决问题的能力。解决实际问题的能力最重要。
总之,实际的开发工作不同于考试,考试设计得越接近实际工作需要,结果才可能越真实,才可能真正招到想要的人。
⑸ 想要面试前端,应该准备个什么项目合适
首先,并非所有的前端开发面试都会查看你的demo
其次,如果你有项目开专发经验,那么比较属好的项目(好一方面指的是项目的功能完善,涉及到的前端技术比较多,另一方面指的是你的代码质量比较好),就可以作为你的demo
如果你没有项目开发经验,那至少自己敲过一些东西,网页或者什么的吧,这些东西就可以作为你的demo
除此之外,如果你的技术学的不错,JS层面学的也比较好的话,最好是书写几个自己的框架出来,如果还没有达到书写框架的层面,最起码面向对象、原型继承,小游戏,这种能够凸显你JS功底的demo,最好写几个。
Tips:额外说一句,别在网上随便找个效果或者视频课程,然后模仿一下,虽然你能做出demo,但是却没有你的思想和你自己的技术沉淀。
再Tips:除了demo之外,人事以及前端的面试真题建议也准备一下,可以借助“决胜前端”的小,程序,进行学习
⑹ 前端怎么面试才能拿到高薪Offer
1. 要有比较好的计算机基础
这里的计算机基础指的是数据结构与算法,操作系统,编译原理,计算机网络等等。虽然相对于其他方向而言,前端在工作中用到计算机基础的地方可能少一点,但是无论大小厂,招实习生其实都是为正式招聘做储备,所以会比较希望招将来有更大发展空间的人,就像里 Web 前后端分离的意义大吗? - 知乎用户的回答 和 怎样成为全栈工程师(Full Stack Developer)? - 知乎用户的回答 描述的那种。
如果你具备比较好的计算机基础素养,那么以后在拓展到其他领域(WebGL —— 计算机图形学,Node.js 底层 —— 操作系统,JS 引擎和各种预编译工具—— 编译原理, etc.)的时候会更快上手。另外有一些公司对前端的概念不局限于 Web 前端,也包括移动端偏前端的部分,这里也需要你有比较好的计算机基础才能做好。前端领域有很多人已经不满足于造轮子,直接跑去造语言了,如果你编程基础够好,接触过各种形形色色的编程语言和范式,再上手这些东西也会方便些(比如Ruby/Python->CoffeeScript,Haskell->LiveScript)。
虽然也有很多地方为了招到足够多能来干活的前端会降低对计算机基础的要求,但是打好这方面的基础是没有坏处的,如果面试笔试被问到且答得上来,也是能够加分的。一些大厂经常会出现“不是前端的面试官来面前端”的情况,我个人是觉得如果这类面试官问的都是计算机基础问题的话,其实真的无可厚非,毕竟人家在面“一个前端程序员”之前,是在面“一个程序员”啊……
2. 要懂得现代前端的一些新技术
比如:
前端自动化工具(Gulp/Grunt等)
模块化(CommonJS,AMD/CMD模块加载器,各种Bundler,ES2015 Moles等)
前端 MV* 框架(Backbone,Angular等)
编译到 CSS 和 JS 的一些语言(Less/Sass/CoffeeScript等)
前端自动化测试工具(Karma,Mocha,Web Driver等)
其他
有一些同学觉得这些东西懂得越多越好,我个人是觉得这些工具不一定要都了解(毕竟它们很多也未必能火多久),但对这些东西要有大致的概念,并且每个领域的用过一两种(最好是在项目里),清楚它们的优缺点和必要程度。这是区分在前端上投入过一定精力的人和跨行来兼职前端的人的标志。
去大厂校招应聘前端的会有很多只是做过一些 Web 项目,但不一定对前端的技术很了解,只是看前端门槛比较低就去投简历的人。如果你对这些新技术比较了解的话,起码能够证明你是比较专注前端而且花过一定时间在上面的。
同时,前端现在确实是一个每天都有很多轮子冒出来的领域,也需要你有足够强的自学能力和(英文)文档阅读能力去跟上社区的这些新动态。接触过比较多的轮子,才会有自己的判断,不会老是人云亦云火一个学一个。这些工具里,确实也有很多在合适的场景下可以提高前端的生产力或者代码质量,对这些东西有一定关注,也表明你对自己的生产力和代码质量是有一定关注的,这其实是一个更广义的靠谱程序员的特性。
3. 懂得什么是 Web 标准和浏览器开发维护的流程,并且会跟进新发布的标准和主流浏览器新实现的特性
当然面试的时候一般不会直接问你这方面的问题,但是如果你懂这里面的水大概是怎么一回事的话,在很多问题上(特别是兼容性问题上)都能回答得比较深刻一些。最好清楚:
HTML、CSS、DOM,ECMAScript 和一些泛 HTML5 的标准是怎么制定的
W3C 和 WHATWG 的区别
各种标准的不同版本和提交状态是怎么回事
知道标准和实现的差距(有些人喜欢把 W3C 标准奉为圭臬,但现实中浏览器们并不是这样的)
知道 ECMAScript 和 JavaScript 的区别
知道浏览器的一些常见做法(比如给 CSS 特性加前缀)的缘由
标准和浏览器这滩水还是很浑的,涉及到很多利益纠葛和大厂的博弈,如果你大概清楚他们的一些事情,不光自己做前端兼容的时候会容易一些(不会只抱怨“为啥XXX就是不能OOO”而是懂得他们的无奈并且认真寻找解决方案),在新特性出来的时候也更容易消化(不是“啊又出了个新东西要学好烦啊”而是“在邮件列表上争(si)论(bi)了那么久他们终于把这个搞出来了”),你自己对前端比较基础的那部分的知识体系更会有条理得多。个人觉得这也是区分比较有经验的前端和临时跨行的前端的关键之一,这些东西是需要你经过一段时间的耳濡目染才能理清楚,而且会在一定程度上影响你的工作的。
4. 多看书,多关注技术资讯
技术资讯的来源包括RSS、邮件订阅、比较重要的邮件列表、或者follow Twitter和微博上一些比较有影响力的开发者。个人经验是,一般在二面或者三面的时候,面试官都会问类似“你从哪里接触前端的新技术/你看过哪些书”的问题,因为前端现在技术更新很快,比较专注于前端这方面的人一般都会有自己接触新技术的渠道,他们自然也会比较关心候选人是不是有在跟进社区的一些动向。其实这也能够排除那些不太靠谱的临门跨行的人,因为他们平时一般不会特意去关注前端技术的新动态的。
5. 不仅懂得一些东西怎么写,更要懂得一些东西不要怎么写
Web 标准大多不是严格向后兼容的,很多几年前常用的写法,现在已经被社区的大多数人强烈建议避开了,有很多特性也随着时间的流逝被打上了 deprecated 的标签,如果你不幸拿着一本比较老的书入门,又不在网上验证上面说的每一句话,那么很有可能你就这样被误导很久,比如 HTML可能会逐步被XML所取代吗?(来自《css权威指南》) - 贺师俊的回答 这样的情况……与之类似的还有:
JavaScript 里那数量令人叹为观止的坑
一些在经验比较丰富的前端看来属于常识的东西(比如:为什么 CSS 大多放在 head,JavaScript 多放在 body 底端?)
划分各种模块、文件,添加模板的正确方式(比如错误方式是一堆脚本/样式写在一个超大文件里,或者在有替代方式的情况下在 JavaScript 里拼字符串)
解决一些老问题的新的best/better practice(比如不要到了 2015 年还深陷在回调地狱,去看看 promise 和 generator)
……
这些知识都需要你有一定的前端方面的经验,看过比较多相关的博客和书,才能慢慢积累起来,所以也能区分靠谱的前端和不靠谱的前端。
6. 不依赖某一个特定的框架或者库
比如很常见的“离开了jQuery就不会写前端”星人……也不是说要做原生 JavaScript/CSS 和 DOM 的原教旨主义者,但高度依赖某个框架或者某个库的话,通常意味着换了一个框架/库你的学习成本会比不依赖特定轮子的人高,因为这通常是处于还不知道前端领域“什么是什么”的阶段的表现。
事实上前端领域的这些轮子有一些都是其他领域早就有,或者根本不需要的东西,其中很多的实现原理也不是那么复杂,只不过是脏活累活。个人觉得对这些东西应该报以“不能知其然而不知其所以然”的态度,起码大概清楚它们的实现是怎样的套路,知道它们的优缺点,多接触几种,这样在换一个替代品的时候很快就能上手。
因为前端的特殊性,在开发比较大的项目的时候使用库和框架是必须的(比如遇到各种鼠标事件的前端兼容问题时,总不能全都就地写 if-else 吧,总得封装一下。遇到非常 data-driven 的项目,还用手动操作 DOM 的写法很难维护吧,用个 MV* 框架真的不纯是偷懒了),但是这些东西都是会迅速改朝换代的,死守着某个特定的库或者框架,确实不太靠谱。很多公司喜欢问候选人“原生 API 写个 Ajax 请求怎么写”这类问题,感觉很大程度上也是在排除这类人……
7. 懂一点点设计
这里说的不是切图啊PS啊AI啊什么的,而是大概懂基础的视觉传达/色彩构成/平面构成的知识。毕竟前端是和设计师联系最密切的程序员,虽然前端要做的事不仅仅包括 UI/UX,但是 UI/UX 却都主要依赖前端来实现。很多时候,设计师(特别是不会前端技术的设计师)给出的设计可能很难(在照顾兼容性的前提下)实现,这个时候不应该跟他硬拼让他改设计,或者自己默默纠结怎么用很 hack 很难维护的方法去实现,而是理解设计的意图,并且跟设计师沟通,尽可能在工程上容易实现容易维护的前提下实现设计的意图,哪怕要修改一些具体的表现形态。
最恐怖的就是丢一张图过来,让你做到 pixel perfect,你也不问三七二十一直接开工,代码写得别扭也不去沟通,遇到不兼容就打个哈哈蒙混过关了……设计的目标是让大众都能更容易地使用,这样做是与设计师存在的意义背道而驰的,我也遇到过一些设计师会主动来问前端怎样的设计在浏览器里容易实现,怎样的设计比较别扭,这样他才能结合多方面的信息去做设计上的决定。如果你对设计不关心,不与他交流的话,实际上相当于剥夺了一些关心工程实现的设计师的知情权(一般正常的设计师看到自己的设计实现出来效果不好,也会小郁闷的……)。个人觉得与设计师沟通的技巧,也是一个靠谱的前端应该具备的素养。
8. 懂一点点后端
(这个是我看了一下别人的答案补加的)。其实这个和第一点的目的类似,最重要的是别要做一个非得等队友来才能开工的人。大厂(主要是阿里系)有不少在用 Node 做前后端分离一类的事,另外做前端的经常要在后端还没写完的时候自己去 mock 一下数据接口,如果你懂怎么搭建简单的服务器和 serve 数据给前端,那么就可以提高开发的效率。即使你只想专注前端,但前端有很多东西(比如 JS 跨域,WebSocket,SSE,WebGL 的素材获取)都需要你懂得架设简单的后端才能去实践,这时候不懂后端通常就意味着你要放弃学习这些知识,或者只能纸上谈兵。一个正常的前端肯定是要对计算机网络和 HTTP 等协议有一定了解的,有了这些知识去学简单的后端其实是很水到渠成的事情。
9. 在前端投入足够的时间
意识到以上几点还需要投入足够多的时间才能看到成果,不然很容易出现“道理我都懂,可是OOO”的情况,那最后也还是靠谱不了的……如果不是真的对前端感兴趣并且投入足够多的时间,与其为了“好找工作”而投前端,不如转一个更合适的方向。阿里前端的困局与突围 · Issue #141 · lifesinger/lifesinger.github.com · GitHub 和 图灵社区 : 阅读 : 企业软件领域前端开发的困境 都能说明这个问题。
另外有些面试官喜欢问你一些很细节的 API (虽然我个人觉得这类问题很囧),这些东西很多时候都是靠的“无他,但手熟尔”,虽然有一些确实有点刁难人的味道,但有一些真的是如果你经常写前端,重复多几次就会记住的,如果记不住,只能说明你前端写的不够多。还有一些没足够实战经验的人很少遇到过的问题(比如 JS 跨域),也是需要在前端投入足够多的时间,才会接触到(无论是纸上谈兵,还是项目里遇到)。
其实综上所述,不靠谱的前端大概表现就是:计算机基础不好(更糟糕的是编程基础都不行,不过编程基础和计算机基础好不好跟绩点高不高专业对不对口这些其实真的不一定有什么关系……),对前端的认识还停留在十年前,对社区出现的新工具完全不认识(没认识全很正常,但完全不了解就有点两耳不闻窗外事一心只读圣贤书的味道了……),不懂 Web 标准是怎么回事或者不在意标准,遇到兼容问题就复制粘贴搜到的代码,对于一些在社区里是常识的坑毫无意识地各种踩,“离开了jQuery/某库/某框架就不会写前端”星人,或者平时根本没怎么做过前端的东西,只是做做 Web 项目顺带写前端,到应聘了临门一脚跑过来……不管是平时学习还是笔试面试,尽量避免向这些特征靠拢就可以了。事实上大厂们招人不一定会要求这么严格,而且大厂里的团队本身也未必个个靠谱,但是平时有在这些方面努力的话,起码如果挂了会知道自己哪里不足,或者到底是他的问题还是你的问题……
以上大概就是我觉得拿到大厂(or前端比较靠谱的中小厂)前端offer需要的水平,其实我感觉没必要拿“实习”这个词来限定自己,尽量往高水平靠拢,才能做到是你来选公司,而不是公司来选你,这样你才能结合兴趣/家庭/个人规划之类的因素拿到最适合自己的 offer。另外,我觉得面试这回事是这样的,上面提到的这些特征,每一条单独拿出来,在不确定面试官的情况下,既不是拿到offer的充分条件,也不是拿到offer的必要条件,某一条不满足,也不是拿不到offer的充分或必要条件。大厂的面试官有很多种,有些设计出身喜欢问设计,有些后端出身喜欢问偏后端的东西,有些喜欢问你API细节,有些喜欢问你实现思路,有些喜欢看你学习能力,有些面试官本来就不是前端所以喜欢问你基础题。如果你侧重某一些方面,虽然无可厚非,但是运气不好遇上期望不同的面试官,可能你就会得到比较低的评价或者挂掉。确定能拿 offer 的唯一途径,就是面面俱到,这当然是不可能的要求,但大厂的种种因素配合起来往往就是在找这种不存在的人才,真的想拿 offer 的话,就只有硬着头皮尽量靠拢。
就像国内很多大厂里比较著名的前端们文章/博客/知乎里提到过的一样,前端这块水不是很深,但水非常非常宽,在考虑将来作为一个前端如何发展如何应对天花板之前,先要脚踏实地把这些属于前端的“本分”的东西搞好。事实上前面提到的这些东西我也没有全都做到。作为前端,个人觉得最重要的是要保持一颗开放、谦卑的心,不要抵触新东西,永远记得外面的世界还有很多东西自己不懂,要继续学习。
⑺ web前端面试经常问到的面试题有哪些
Web前端经常被问到的面试题及答案
一、HTML+CSS
1.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外
链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维
护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;
2.xhtml和html有什么区别
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言
最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档
加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的区别是?
内联 内嵌 外链 导入
区别 :同时加载
前者无兼容性,后者CSS2.1以下浏览器不支持
Link 支持使用javascript改变样式,后者不可
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符 类选择符 id选择符
继承不如指定 Id>class>标签选择
后者优先级高
7.前端页面有哪三层构成,分别是什么?作用是什么?
结构层 Html 表示层 CSS 行为层 js
8.css的基本语句构成是?
选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
二、Javascript
1.javascript的typeof返回哪些数据类型
Object number function boolean underfind
2.例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(== – ===)
3.split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax请求的时候get 和post方式的区别
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解释json数据
使用eval parse 鉴于安全性考虑 使用parse更靠谱
11.b继承a的方法
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
⑻ 面试前端开发,大家面试几次就被录用
很正常,你如果真的不会说的话,就拿出点之前做的一些案例给面试官看,最好是做个PPT什么的。 和面试官直接说,我表达方面可能有些欠缺,但是你可以看看我之前操作的案例,应该能达到这份工作的照片要求。
⑼ 前端面试 问什么问题
web前端面试会来问人事方面的内自容和web前端技术的内容;
web前端人事面试方面,需要注意如何自我介绍、性格有哪些优劣势、职业规划方向是什么、你的特长是什么、对于加班之类你是怎么看待等人事面试内容;
技术面试,需要注意HTML+CSS+JavaScript以及JS主流框架的使用,比如Vue、React等,前端相关技术,比如tcp握手协议、网络安全、后端技术等;
对于web前端面试准备,建议你去看“决胜前端”(min app),它里面包含了很多web前端技术面试、人事面试等面试真题,而且针对面试题做了详细的分析与解答。
我给你截图看一下例子吧
⑽ #web前端#现在前端面试都这么难吗,面了有二十家了居然没有一个合适的,都要考虑转行了……
合适?是你技术不行?还是公司技术不符合你目标?你的技术不行就要考虑自身版的问题。转行权不是一句话就可以的,转型意味着从零开始做起,如果你有这决心那可以 来自职Q用户:陈先生
正常,年前除非公司特别急,一般公司是准备为来年招聘试试水,没碰到明年再说,碰到了很牛逼的人就早一点招进来放着,一般的技术,他们不着急的 来自职Q用户:Sultan