web前端开发发 适合问面试官什么问题

一个前端开发在阿里巴巴的面试经历
通知我21早上9:30开始,早上8:40就到了,前台上面没有我名单,我就打电话询问HR,说没关系,面试官在路上,等一下,大概到10点左右,HR领我进去见面试官,解释说昨晚从杭州来北京,有点晚,让你久等了,我说没事。面试官个子很高的样子,有点零星白头发,器宇不凡,一看就是个级别很高。进来问好,然后让我坐下面试官说:我们是1688技术部的面试,现在就开始吧。
01. 介绍一下你技术方面
刚开始有点紧张,说的有点断断续续,中间还有HR MM进来,另外一个mm进来给面试官端水
02. 性能优化方面
我理解为代码层面的我:一是:HTML层次结构不要太深,层次结构深会xx…二是:防止内存泄露,DOM和javascript是两种东西,特别在IE等浏览器,javascript操作DOM效率低,容易造成内存泄露,在不使用的时候最好设为null三是:写类的时候用prototype,不要动态this.xx = funciton(){}, 这样不能资源复用面试官:还有吗我疑问:哪方面的优化面试官:站点性能优化我豁然,说:哦,缓存啊,代码本地化面试官疑惑:本地缓存?如何?我:Expires,Etag等面试官:还有呢我:如果有条件使用cdn,还有cookie隔离面试官疑问:隔离?我:就是防止静态资源发送cookie,通过配置独立域名的,另外独立域名的好处还有多线程下载,因为传统浏览器限制了并发数2,是一个域名限制2,如果多一个域名可以多几个并发面试官:那么通常说脚本为什么要放头和放尾呢我:我知道一般放尾是为了不影响HTML的解析,另外放尾处可以不用DOM ready,直接可以document.getElementById等,至于放在头一般是变量定义吧,还有可能是受base得影响,放在头部一般是css文件,防止裸奔
03. 字体定义有哪俩种方式
我理解为字体定义font-face我:用font-face引入字体文件,有俩种?面试官:是字体大小我:哦,有俩种单位,一个是绝对值,类似于px,一个是相对值em之类的面试官追问:那em和px有什么关系我:如果父元素定义字体大小16px,那么子元素定义1em,大小就是16px追问:em默认值是多少我:不太清楚,跟浏览器设置有关吧
04. 弹性布局和响应式及重构
我:通过media-query,让不同浏览器展现不同布局面试官:还有吗?(我有点卡了,这方面确实没怎么研究)继续说:每个组件在不同屏幕上显示不同样子吧,比如导航菜单在宽屏下显示一通栏,在手机上显示一个按钮(其实他想听到我对弹性布局、流式布局的解释,用相对单位、max-width来控制等)面试官:有一篇文章中说99%的网站都需要被重构,这个文章你有看过吗?我:没有,听过面试官:为什么这么说?我:主要是政府等网站,大量的使用了table等标签,不规范,不过这个地方成本很高。(这个问题没回答好,有点答非所问,不知道当时怎么想的,应该从规范、趋势、移动端方面去回答这个问题)
05.你知道什么叫优雅降级和渐进增强
我:我知道有两种,至于如何和这两个词对上不知道,一种是类似于border-radius,能显示圆角更好看,不能显示就显示方形,用户也可以接受;另一种是比如我要一个长连接,在高端浏览器上使用websocket,不能使用的用iframe流或者ajax,这个已经有socket.io封装了,算是渐进增强吧
06.HTML5主要增强了什么
我:主要增加了语义化话标签面试官:哪些标签我:header, footer, article, nav面试官:语义化标签有什么用我:语义化标签主要是利于SEO,还有增强阅读性,增强可维护性,一看header就是是头部,一看footer就知道是尾部,一看nav就知道是菜单面试官:HTML5其他方面呢我:增加了很多API,当然我没有都使用过,API开发出来是给我们用的,不是为了让我们去记忆的
07. 你平时用哪些浏览器
我:firefox,safari,chrome啊,IE用的少面试官:开发主要用哪个我:firefox面试官:装了哪些插件我:firebug,firephp,至于其他的Yslow,之前装过,我们项目中用不到,所以就没用了,主要还是用firebug
08. 有什么需要补充的么
我:最近在研究Node,感觉Node.js挺火的,之前看了一本书,一直没时间实践,因为我们是弄互联网软件的,不像运营性质的,活总是做不完,打算以后抽时间出来把node和html5新技术用上,面试官追问:Node.js主要解决了什么问题我:高并发,异步编程,异步编程有好处也有不好处,比如弄的代码层次很深,大量的callback
09. 有什么需要交流的么
我:你们新技术用的多吗面试官:多,非常多,主要在移动端上面我:我还没怎么接触移动端
10. 你会Flash么
我:UI不会,前面说过了,as可以写,虽然不像javascript那么熟,他们都是ES规范的,我只要知道提供给我的API,能写东西的
中间HR MM针对我简历问了一些问题,工资啊,职位啊,到岗时间啊等
11.最后,还有什么问题需要问我的么
我笑说:前面都问了,没什么要问的了,呵呵(我只准备了一个问用来回答9了)
然后HR MM说:我们先出去等一会。等了大概10分钟,HR走过来跟我说,你的面试就结束了,5天后电话通知你。
刚出来觉得自己答的还可以,基本上顺畅的答完,对最后一个问题有点遗憾,没怎么准备,感觉有80%把握通过一面,后面越想越不对劲,他们的侧重点在移动端,而我正好在这方面有很大的不足,按照正常的流程是不是不用等5天,而是进入深入的技术面,比如做题,被PASS了?
是本站开发的一款收藏记录创意分享 ,开启高效之门的在线应用。点击: 收藏此文
你可能对这些文章感兴趣.
Copyright & 2014 java面试题为何前端面试官都喜欢问闭包?
很多公司前端开发职位相关的面试官都喜欢问闭包。能否理解闭包可以当作评判一个前端开发的依据?
按投票排序
大致是这样:1,面试题以半开放问题为佳。闭包就是个半开放问题。所谓半开放,就是说你可以就你知道的随便说,但是大致上有一些点面试官可以守着,看看你说的是否全面、准确。2,这个问题可以追问。根据你的回答情况,面试官可以补充若干递进问题。比如作用域,变量提升,引用传递,异常捕获等等,涉及到的点还是比较多的。而且能追问不是显得比较有面子嘛是吧?3,这个问题是普适的。一方面它确实是个基础问题,入口点完全是初级的,就算你经验很少,也不应该一句答不出来。另一方面,它和平台的相关性比较小,也基本不随着业界格局变化,较为稳定。像内存泄露他就不太好问,你来一句“这个话题过时了”咋整?4,就 js 语言本身,它不像 C++ 一样有着灿若繁星的特性。实际上真正适合面试的,可选择的问题并不多,面试官也未必就有能力出更好的题目。而且 js 不像 java,在语言之上建立了层层公认的业务框架,js 连个标准库都没有。你面 java,问个 struts,spring,hadoop 什么的,天经地义啊,可是面试官面 js 的时候,除了 jquery,还有什么库能安全提问呢?你问个 react,人家说没用过,也天经地义啊。5,最终形成的局面就是,“请解释一下闭包”,“请问如何实现面向对象”,“请解释一下this关键字”……
什么是闭包,回答多种多样,对 JavaScript 理解层次的不同会有不一样的答案。有次面试官问我什么是闭包,我按照我的理解回答了,他却要我写出一个闭包来…一个函数里返回一个函数…然后他满意了…这种水平我基本是不会去的。
前端不懂闭包也能将就用各种框架开发,前端门槛本来就低,各种轮子也把很多工作傻瓜化了。闭包能把只会用轮子的人筛下去。作用域是JS里不多的需要理解的东西,其他的框架,函数,API什么的就是个查文档的事。闭包说白了是个函数作用域的问题,作用域-引申到垃圾回收-循环依赖-内存泄漏-dom对象和JS对象的不同-this作用域-再到原型链-面向对象-甚至再到js引擎-浏览器内核。能以闭包为切入点,把JS要的理解点,问个遍。如果是一个多语言开发者,能引申更多的东西,比如不同语言的各种回收算法,循环依赖,强弱引用,其他静态语言支持闭包的也不少,部分静态语言编译器级的闭包实现。闭包是很简单,不为考技术,更为能检验一个人是不是真的对JS这种语言有兴趣,是不是有求知欲和好奇心,是不是有基本的学习能力和理解能力,这些都是一个开发人员该有的基本素质。能力经验到了一定阶段,都不是为了面技术,更是为了了解对开发工作的态度,学习理解的深度和沟通的感觉。个人是先学静态语言如c,java,后来接触的JS,最开始实在难以理解JS的函数作用,其实没有一点静态语言基础的反而更好理解。终于搞明白的那一刻,深吸了口气,那感觉真爽。
路过随便说几句可能这几个因素1、因为普遍具有实际用途2、有着相对的有比较明确的答案3、具有普遍认知度的问题,除了这几个真是没啥可问的比如偶几年前校招时候浏览器问过元素的内联事件处理函数的查找顺序就是 &div onclik="a()"&这个 a 函数是怎么被浏览器找到的是否所有实现查找都一致没人能答对啊就连问题都得说几次才能明白说白了就是问的偏了还不如问闭包来的直接呢知道闭包的再问问使用场景差不多能确定普通搬搬砖不会给惹大麻烦什么的了吧
我面试人从来不问闭包。因为我认为闭包太简单了,没啥好问的。更新,答
:问任何这类问题,总可以考察一些方面。但是面试的效率决定了你需要不断找到更好的问题。怎么样是更好的问题,参见
的 拿区分度、深度、覆盖率来考察下“如何理解闭包”这个问题,跟其他问题比是不太理想的。
你都知道会问 还不会 就有点奇怪了。我一般都问 for 100个按钮 bind click 怎么log对index。
然而对于闭包最准确的描述应该是
答案里面的一条:闭包就是一个函数内部可以访问函数外部的现象表述。可以做下: 这几个例子,深入理解下。至于那些 onclick 或者 setTimeout 的例子,简直有些误导,那些例子之所以能 OK 更多的是因为立即执行函数创建了一个个小作用域,将 i 传递到函数里面的小作用域中,当调用起 onclick 的函数之后,会在小作用域里面搜索。还有一个点就是往函数传参的时候,是传值的,而不是传地址的。这个例子基本没有表现出什么闭包的特性,反而让一些「新手」非常直观的认为:闭包就是包裹一层立即执行函数。建议
@刘洋 思考一下在
评论里的 demo ,去掉 arr[i].index 这行,在 onclick 里面直接打印 i 为什么不行?因为你的立即执行函数创建的作用域里面,还是没有 i 这个变量,结果 onclick 执行往上层作用域寻找 i 的时候,此时 i 为 10。
看你面试的是什么人吧。就像贺老 说的,他从不面闭包,因为闭包太简单,也因为他不需要那个level的工程师吧。我也不问,不过和贺老不一样,我不问是因为不会(划掉)因为这个问题问烂了,简直是必背面试题之一了。而且你知道怎么说和真的了解在哪用怎么用的更好,并没有什么关系。要说基础,比这个基础的东西多得多~
其实吧。有些看似很傻的问题只是用来甄别要不要再问更深的问题的步骤。好比那些背单词的软件,总要从易到难的。一般都是从简单的如padding, margin区别(CSS), alt和title的区别呀(html), ==和===的区别呀(js)这样开始的。闭包只是再向上一点点的台阶。好比,你写了说你精通css3,然后不知道padding, margin的区别。我们还需要继续下去吗?一般问三个简单的,你都不知道,从统计学上,是吹牛的误判的概率就很小了。所以不知道闭包,或者知道不够清楚并没有关系。如果很多同级别的问题都不知道,就可以判断你的知识的上限在哪里了。
其实闭包是可以做为评判依据之一,但是我不会主动问。
已有帐号?
无法登录?
社交帐号登录 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
2014年最新前端开发面试题(题目列表 答案_完整版)
下载积分:2000
内容提示:2014年最新前端开发面试题(题目列表 答案_完整版)
文档格式:DOCX|
浏览次数:0|
上传日期: 03:00:20|
文档星级:
该用户还上传了这些文档
2014年最新前端开发面试题(题目列表 答案_完整版)
官方公共微信【北森Web前端开发工程师面试】面试官挺厉害的,问了一些问题 基本了解一些。-看准网
面试官挺厉害的,问了一些问题 基本了解一些。
主要看着你简历问问题,重点问js的问题,问了原型 继承 ,闭...
或,才能查看详细内容
我觉得面试有难度
面试总体感觉一般
小贴士:问题描述的越清楚,越能吸引老鸟来回答哟~
关注看准官方微信
下载看准官方APP更多公众号:NetXXBJ学习前沿知识,记录点点滴滴!最新文章对这篇文章不满意?您可以继续搜索:百度:搜狗:感谢您阅读前端开发面试题及前端知识概况 (HTML篇),本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:

我要回帖

更多关于 前端开发 的文章

 

随机推荐