您的位置:首页 > 职场人生

老外的前端面试题

2013-09-21 20:48 288 查看
用Twitter吗?

如果用,你在Twitter上面关注谁了?

用Github吗?

如果用,请列举几个你在上面关注的存储库(repos)。

你关注了什么博客?

你用过什么版本控制系统?

你偏爱的开发环境是什么?(操作系统,编辑器,浏览器,工具等等)

你能描述一下当你创建一张网页时的流程吗?

你能描述一下渐进增强和平稳降级的不同之处吗?

如果回答了“没人能描述”,则加分

如果描述了“特征检测”,则额外加分

解释“语义化的HTML”的意思。

JS压缩(Minification)是作什么用的?

为什么把站点资源文件放在多个域下的做法比较好?

一个浏览器一次从一个域下下载几个资源?

如果你为某个设计稿做了8个不同的css文件,你是如何把它们集成到网站当中去的?

文件合并

用@import,除非这部分工作在构建系统里面已经做掉了

如果你加入了一个项目,他们用tabs,而你用空格,你会怎么做?

问题:retab! 命令

写一个简单的幻灯片放映的页面。

如果不用JS,则加分

你用什么工具来测试你的代码性能?

如果今年你能掌握一门技术,它将会是什么?

说出3种减少页面加载时间的方法。(感觉上或者真实地减少了时间)

解释一下标准的重要性。

[align=left]HTML细节问题:[/align]

doctype是干嘛用的?你能说出几种来?

标准模式和怪异模式的区别是什么?

在用XHTML页面时有什么限制吗?

用application/xhtml+xml?会有什么问题

你是如何做多语言内容的页面的?

HTML5中能使用XHTML的语法吗?在HTML5中你是怎么使用XML的?

data- 开头的这种属性有什么好处?

HTML4中的内容模型(content model)是什么?和HTML5中的有区别吗?

试想HTML5为一个开发的网络平台,那HTML5的基础模块(building blocks)是什么?

描述一下cookie,sessionStorage和localStorage的区别。

[align=left]JS细节问题:[/align]

你用过什么JavaScript库?

JavaScript和Java有何不同?

未定义(undefined)和未申明(undeclared)变量分别是指什么?

闭包(closure)是什么?如何/为什么 使用?

你最喜欢的闭包写法是哪种?Argyle(只适用于立即调用模型(IIFEs))

匿名函数(anonymous functions)的典型使用案例是什么?

解释一下JavaScript 模块化模式以及你何时使用。

提到清晰的命名空间(clean namespace),加分

如果你的模块没有命名,那将会怎么?

你是如何组织你的代码的?(模块模式(module pattern),类继承(classical inheritance)?)

宿主对象(host objects)和原生对象(native objects)有何不同?

以下语句的区别:

function Person(){}

var person = Person()

var person = new Person()

复制代码

call 和 apply的区别?

解释 Function.prototype.bind

你何时优化你的代码?

你能解释下继承在JavaScript中是如何工作的吗?

如果说出“没人会”的有趣答案,加分

如果他开始认真解释了,额外加分

你何时用过document.write()?

正确答案:1999年 – 淘汰初级开发者的时候(time to weed out the junior devs)

特征检测(feature detection),特征推断(feature inference),用户代理(UA)字符串的区别?

尽可能细地解释一下AJAX。

解释一下JSONP是如何工作的?(为什么它不是真正的AJAX?)

解释一下“提升(hoisting)”

什么是FOUC?你是如何避免FOUC的?

描述一下事件冒泡

“attribute” 和 “property”的区别是?

用过JavaScript模板吗?如果用过,那是什么模板或者是怎么用的?

为什么扩展内置的JavaScript对象(extending built in JavaScript objects)不是一个好的主意?

为什么扩展内置组件(extending built ins)是个不错的主意?

document load事件和document ready事件的区别

== 和 === 的区别是什么?

解释一下你是如何从window的URL中获取查询字符串参数的(query string parameter)?

解释一下关于Javascript的同源策略(same-origin policy)

解释一下事件代理(event delegation)

描述一下JavaScript中的继承模式

使下面的代码工作:

[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]

复制代码

解释一下Memoization的策略

为什么叫三元(Ternary)操作符?“三元”暗示着什么?

函数的参数数量(arity)是什么?

JS代码例子:

~~3.14

复制代码

问题:上述语句的返回结果是什么?

"i'm a lasagna hog".split("").reverse().join("");

复制代码

问题:上述语句的返回结果是什么?

( window.foo || ( window.foo = "bar" ) );

复制代码

问题:window.foo的值是多少

var foo = "Hello";

(function() {

var bar = " World";

alert(foo + bar);

})();

alert(foo + bar);

复制代码

问题:2个alert的输出结果是什么

[align=left]jQuery细节问题:[/align]

解释一下“连接(chaining)”操作

.end() 是做什么的?

在绑定事件的时候,你是如何(为什么)加上事件的命名空间(namespace)

效果队列(effects queue)(或者FX)是什么?

.get(), [], .eq() 的区别

.bind(), live()和.delegate()的区别是什么?

$ 和 $.fn 的区别?或只说$.fn是什么?

优化下面的选择方法:

$(".foo div#bar:eq(0)")

复制代码

[align=left]CSS细节问题:[/align]

描述一下“reset”css文件的作用以及它为什么是有用的?

描述一下浮动(Floats)及是如何工作的

清除浮动的技术有哪些?什么场景下该用什么技术?

解释一下CSS Sprite及你是如何在一张页面或者一个站点上面使用该技术的?

对于功能有限的浏览器(feature-constrained browsers),你是如何制作你的页面的?

你使用什么技术(处理)

有什么方法在视觉层面上隐藏内容(使之仅对屏幕阅读者(screenreaders)可用)?

你使用过栅格系统(grid system)吗?如果用过,你喜欢哪种?

你在其它媒体或者移动设备上使用过或者实现过布局(css)吗?(Have you used or implement media queries or mobile specific layouts/CSS?)

给SVG添加样式,熟悉吗?

对于打印,你是如何优化你的页面的?

在写css时有什么gotchas?(What are some of the “gotchas” for writing efficient CSS?)

使用过LESS吗?


页设计使用非标准字体的排版,你将如何实现?(避免提及网页字体(webfonts),那样的话他们会想到(你的意图))(How would you
implement a web design comp that uses non-standard fonts?)

解释一下浏览器是如何将元素和css选择器进行匹配的?

[align=left]随意有趣的问题:[/align]

你最酷的编码作品是什么,让你自豪的是什么?

你知道HTML5小组的标记吗?

你现在在或者曾经在过小船上面吗?

告诉我你最喜欢的Firebug/Webkit Inspector的功能

你有养宠物计划吗?哪种宠物

解释一下“cornify”的重要性

在一张纸上,竖直写下A,B,C,D 4个字母。然后不写代码,将这些字母降序排列。

等着看他们是否把纸给上下颠倒过来

这是一个在面试将要结束,缓解紧张气氛的好方法,应该会有笑声:)

海盗或是忍者:

如果能说出好的理由做由海盗和忍者的组成物,加分(若是猴子僵尸海盗忍者,+2分)

如果不做web开发,你会做什么?

怪盗卡门(Carmen Sandiego)在哪个世界(提示: 他们的回答总是错的)

你最喜欢IE的什么特性?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: