找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6958|回复: 14

[讨论] 常见前端开发面试题

[复制链接]
发表于 2012-10-19 17:07:01 | 显示全部楼层 |阅读模式
在CSDN上面看到的,有兴趣的答一下

一般问题
你用Twitter吗? (在天朝最好问你用微博吗?)

如果用,你都关注那些人?
你用Github吗?

如果用,你关注的项目有什么?
你关注的博客有那些?

你使用那些版本管理系统,比如Git,SVN等?

你常用的开发环境是怎样的?比如操作系统,文本编辑器,浏览器,及其他工具等。

你能描述一下你制作一个网页的工作流程吗?

你能描述一下渐进增强和优雅降级之间的不同吗?

如果提到了特性检测,可以加分。
请解释一下什么是语义化的HTML。

你更喜欢在哪个浏览器下进行开发?你使用那些开发人员工具?

你如何对网站的文件和资源进行优化?

期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
其他
为什么利用多个域名来存储网站资源会更有效?

浏览器一次可以从一个域名下做多少资源?
请说出三种减低页面加载时间的方法。(加载时间指感知的时间或者实际加载时间)

如果你接到了一个使用Tab来缩进代码的项目,但是你喜欢空格,你会怎么做?

建议这个项目使用像EditorConfig(http://editorconfig.org)之类的规范
为了保持一致性,转换成项目原有的风格
直接使用VIM的retab命令
请写一个简单的幻灯效果页面

如果不使用JS来完成,可以加分。
你都使用那些工作来测试代码的性能?

例如JSPerf (http://jsperf.com/)
例如Dromaeo (http://dromaeo.com/)
其它。
如果今年你打算熟练掌握一项新技术,那会是什么?

请谈一下你对网页标准和标准制定机构重要性的理解。

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

HTML相关问题
文档类型的作用是什么?你知道多少种文档类型?

浏览器标准模式和怪异模式之间的区别是什么?

使用XHTML的局限有那些?

如果页面使用'application/xhtml+xml'会有什么问题吗?
如果网页内容需要支持多语言,你会怎么做?

在设计和开发多语言网站时,有哪些问题你必须要考虑?
在HTML5的页面中可以使用XHTML的语法吗?

在HTML5中如何使用XML?

'data-'属性的作用是什么?

如果把HTML5看作做一个开放平台,那它的构建模块有那些?

请描述一下cookies,sessionStorage和localStorage的区别?

JS相关问题
你使用过那些Javascript库?

你是否研究过你所使用的JS库或者框架的源代码?

什么是哈希表?

'undefined'变量和'undeclared'变量分别指什么?

闭包是什么,如何使用它,为什么要使用它?

你喜欢的使用闭包的模式是什么?
请举出一个匿名函数的典型用例?

请解释什么是Javascript的模块模式,并举出实用实例。

如果有提到无污染的命名空间,可以考虑加分。
如果你的模块没有自己的命名空间会怎么样?
你如何组织自己的代码?是使用模块模式,还是使用经典继承的方法?

请指出Javascript宿主对象和内置对象的区别?

指出下列代码的区别:

function Person(){} var person = Person() var person = new Person()
'.call'和'.apply'的区别是什么?

请解释'Funciton.prototype.bind'的作用?

你如何优化自己的代码?

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

在什么时候你会使用'document.write()'?

大多数生成的广告代码依旧使用'document.write()',虽然这种用法会让人很不爽。
请指出浏览器特性检测,特性推断和浏览器UA字符串嗅探的区别?

请尽可能详尽的解释AJAX的工作原理。

请解释JSONP的工作原理,以及它为什么不是真正的AJAX。

你使用过JavaScript的模板系统吗?

如有使用做,请谈谈你都使用过那些类似库文件。比如Mustache.js,Handlebars等等。
请解释变量声明提升。

请描述下事件冒泡机制。

"attribute"和"property"的区别是什么?

为什么扩展JavaScript内置对象是个坏做法?

为什么扩展JavaScript内置对象是个好做法?

请指出document load和document ready的区别。(这是个问题的问题)

'=='和'==='有什么不同?

你如何获取浏览器URL中查询字符串中的参数。

请解释一下JavaScript的同源策略。

请解释一下事件代理。

请描述一下JavaScript的继承模式。

如何实现下列代码:

[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]
描述一种JavaScript memoization(避免重复运算)的策略。

什么是三元条件语句?

函数的参数元是什么?

什么是"use strict"?使用它的好处和坏处分别是什么?

JS代码示例:

~~3.14
问题:上面的语句的返回值是什么? 答案:3

"i'm a lasagna hog".split("").reverse().join("");
问题:上面的语句的返回值是什么? 答案:"goh angasal a m'i"

( window.foo || ( window.foo = "bar" ) );
问题:window.foo的值是什么? 答案:"bar" 只有window.foo为假时的才是上面答案,否则就是它本身的值。

var foo = "Hello"; (function() { var bar = " World"; alert(foo + bar); })(); alert(foo + bar);
问题:上面两个alert的结果是什么? 答案: "Hello World" & ReferenceError: bar is not defined

var foo = [];
foo.push(1);
foo.push(2);
问题:foo.length的值是什么? 答案:'2'

var foo = {};
foo.bar = 'hello';
问题:foo.length的值是什么? **答案: undefined

jQuery相关问题
解释"chaining"。

解释"deferreds"。

你知道那些针对jQuery的优化方法。

请解释'.end()'的用途。

你如何给一个事件处理函数命名空间,为什么要这样做?

请说出你可以传递到jQuery方法的四种不同值。

选择器(字符串),HTML(字符串),回调函数,HTML元素,对象,数组,元素数组,jQuery对象等。
什么是效果队列?

请指出'.get()','[]','eq()',的区别。

请指出'.bing()','.live()'和'.delegate()'的区别。

请指出'$'和'$.fn'的区别?或者说出'$.fn'的用户。

请优化下列选择器:

$(".foo div#bar:eq(0)")
CSS相关问题
描述css reset的作用和用途。

描述下浮动和它的工作原理。

清除浮动的方法有那些,分别适用于什么情形。

解释css sprites,如何使用。

你最喜欢的图片替换方法是什么,你如何选择使用。

讨论CSS hacks,条件引用或者其他。

如何为有功能限制的浏览器提供网页。

你会使用那些技术和处理方法。
如何视觉隐藏网页内容,只让它们在屏幕阅读器中可用。

你使用过网格系统吗?如果使用过,你最喜欢哪种?

你使用过meidia queries(媒体查询)吗,或者移动网站相关的CSS布局。

你熟悉SVG样式的书写吗?

如何优化网页的打印样式。

在书写高效CSS文件时会有哪些问题需要考虑。

你使用CSS预处理器吗?(SASS,Compass,Stylus,LESS)

如果使用,描述你的喜好。
你是否接触过使用非标准字体的设计?

字体服务,Google Webfonts, Typekit,等等。
请解释浏览器是如何根据CSS选择器选择对应元素的。

可选的有趣问题
你编写过的最酷的代码是什么?其中你最自豪的是什么?

你知道HTML5的帮派标志吗?

你是否正在或曾经在一艘船上。(不懂这个幽默)

你使用的开发工具中,你最喜欢的部分是什么?

你有什么业余项目吗?是那种类型的?

解释cornify的重要性?(本题完全摸不到头脑)

在一张纸上,垂直写下ABCDE,然后不用任何代码,将他们到序排列。

静静的看他们是否将纸反转。
海盗还是忍者?

如果是两者的合体,并有恰当理由,可以加分。如果是僵尸猴子海盗加忍者加两分。(注:此题文化差异过大)
如果没有在Web开发,你会做什么?

卡门圣迭哥的隐藏处在哪里?

提示:本题的答案永远是错的。
你最爱的IE特性是什么?

完句填空: Brendan Eich和Doug Crockford是JavaScript的________。

讨论:jQuery是牛逼的库还是最牛逼的库。


原地址

本帖被以下淘专辑推荐:

  • · 进阶|主题: 19, 订阅: 1
发表于 2012-10-19 17:11:42 | 显示全部楼层
额,看的蛋疼,毛哥什么时候给小弟传授传授经验啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-19 17:14:30 | 显示全部楼层
duanye252 发表于 2012-10-19 17:11
额,看的蛋疼,毛哥什么时候给小弟传授传授经验啊

这些我基本也不会,就是让大家讨论讨论
回复 支持 反对

使用道具 举报

发表于 2012-10-19 17:17:38 | 显示全部楼层
讨论:jQuery是牛逼的库还是最牛逼的库。

最牛逼的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-19 17:33:10 | 显示全部楼层
tza17313 发表于 2012-10-19 17:17
最牛逼的

,是讨论呢 ,为什么是最牛逼的
回复 支持 反对

使用道具 举报

发表于 2012-10-19 17:52:03 | 显示全部楼层
chaomao 发表于 2012-10-19 17:33
,是讨论呢 ,为什么是最牛逼的

有什么好讨论的。从流行程度和易用上来说,已经超过了其他的,是吗?毛哥
回复 支持 反对

使用道具 举报

发表于 2012-10-19 20:03:42 | 显示全部楼层
刚好用的上
回复 支持 反对

使用道具 举报

发表于 2012-10-20 11:03:42 | 显示全部楼层
看来要掌握的还真多。
回复 支持 反对

使用道具 举报

发表于 2012-10-20 16:46:58 | 显示全部楼层
出这种面试题的都....那啥...不解释
回复 支持 反对

使用道具 举报

发表于 2012-10-20 20:28:01 | 显示全部楼层
自以为是。。。。。。
回复 支持 反对

使用道具 举报

发表于 2012-11-14 15:44:11 | 显示全部楼层
脑子有问题
回复 支持 反对

使用道具 举报

发表于 2012-11-15 10:52:12 | 显示全部楼层
能回答的我全部答完了!!!!


一般问题
你用Twitter吗?
用微博
如果用,你都关注那些人?
很多人
你用Github吗?

如果用,你关注的项目有什么?
不关注什么项目,纯粹当一个代码托管工具用
你关注的博客有那些?
不固定,UED方面的都有关注
你使用那些版本管理系统,比如Git,SVN等?
只用过git、svn
你常用的开发环境是怎样的?比如操作系统,文本编辑器,浏览器,及其他工具等。
WIN主要,次要UBUNTU,nodepad++和Sublime text2、chrome、FF、IE8、IETEST、Webstorm、PS、有道词典
你能描述一下你制作一个网页的工作流程吗?
分析PSD,建立页面框架和基本CSS、JS,然后开始一点一点做,最后测试兼容、然后给后台、然后写一些必要的ajax、如果数据交互过多,就在本地搭建开发环境和后台一起做
你能描述一下渐进增强和优雅降级之间的不同吗?
渐进增强就是对于功能优秀的浏览器就用它的新功能,而不支持的就算了。优雅降级不懂
如果提到了特性检测,可以加分。
请解释一下什么是语义化的HTML。
简单说从标签名就可以看出整个网页的大概意思
你更喜欢在哪个浏览器下进行开发?你使用那些开发人员工具?
chrome,chrome自带开发者工具,YSLOW,pagespeed等
你如何对网站的文件和资源进行优化?
参照yslow,雅虎性能优化准则等
期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
其他
为什么利用多个域名来存储网站资源会更有效?
因为浏览器一次对一个域名的并发请求个数有限
浏览器一次可以从一个域名下做多少资源?
印象中ie2,chrome等4.
请说出三种减低页面加载时间的方法。(加载时间指感知的时间或者实际加载时间)
按需加载、脚本放底部、合并文件
如果你接到了一个使用Tab来缩进代码的项目,但是你喜欢空格,你会怎么做?
那就用tab呗
建议这个项目使用像EditorConfig(http://editorconfig.org)之类的规范
为了保持一致性,转换成项目原有的风格
直接使用VIM的retab命令
请写一个简单的幻灯效果页面
不用js不会
如果不使用JS来完成,可以加分。
你都使用那些工作来测试代码的性能?
好吧,如果项目经理没说性能慢,我一般不考虑这问题
例如JSPerf (http://jsperf.com/)
例如Dromaeo (http://dromaeo.com/)
其它。
如果今年你打算熟练掌握一项新技术,那会是什么?
html5、移动平台开发相关的都行
请谈一下你对网页标准和标准制定机构重要性的理解。
想长话短说,但说来话长啊
什么是FOUC?你如何来避免FOUC?
不用@import

HTML相关问题
文档类型的作用是什么?你知道多少种文档类型?
就是这个文档验证的类型知道有HTML和xml的
浏览器标准模式和怪异模式之间的区别是什么?
盒模型的解释上有区别,别的不太清楚
使用XHTML的局限有那些?
不知道
如果页面使用'application/xhtml+xml'会有什么问题吗?
不懂
如果网页内容需要支持多语言,你会怎么做?
lang="en"?
在设计和开发多语言网站时,有哪些问题你必须要考虑?
没开发过多语言的网站,估计有问题的图片要多做几个把
在HTML5的页面中可以使用XHTML的语法吗?
可以
在HTML5中如何使用XML?
加个xml的声明?
'data-'属性的作用是什么?
不知道
如果把HTML5看作做一个开放平台,那它的构建模块有那些?
....
请描述一下cookies,sessionStorage和localStorage的区别?
本地文件,和服务器有关的本地文件,html5的本地存储新策略旨在替代cookies
JS相关问题
你使用过那些Javascript库?
jquery
你是否研究过你所使用的JS库或者框架的源代码?
简单看看,谈不上研究
什么是哈希表?
key - value
'undefined'变量和'undeclared'变量分别指什么?
var a ;a就是undefined . alert(b);b就是undeclared
闭包是什么,如何使用它,为什么要使用它?
函数中套函数就会产生闭包。控制作用域用。
你喜欢的使用闭包的模式是什么?
没有
请举出一个匿名函数的典型用例?
!function(){}();
请解释什么是Javascript的模块模式,并举出实用实例。
。。。
如果有提到无污染的命名空间,可以考虑加分。
如果你的模块没有自己的命名空间会怎么样?
会被骂
你如何组织自己的代码?是使用模块模式,还是使用经典继承的方法?
模块模式
请指出Javascript宿主对象和内置对象的区别?
不知道。。
指出下列代码的区别:

function Person(){} var person = Person() var person = new Person()
定义一个Person函数。把Person函数返回值赋值给person,把Person函数当作构造函数构造person对象。
'.call'和'.apply'的区别是什么?
apply接受一个数组?
请解释'Funciton.prototype.bind'的作用?
扩展function类型的bind方法?
你如何优化自己的代码?
经验
你能解释一下JavaScript中的继承是如何工作的吗?
解释不来
在什么时候你会使用'document.write()'?
基本不用。
大多数生成的广告代码依旧使用'document.write()',虽然这种用法会让人很不爽。
请指出浏览器特性检测,特性推断和浏览器UA字符串嗅探的区别?
特性检测就是对相应功能检测。ua字符串正常情况可以推出用户浏览器信息
请尽可能详尽的解释AJAX的工作原理。
用XHR对象发送一个请求

请解释JSONP的工作原理,以及它为什么不是真正的AJAX。
通过动态创建script标签达到跨域目的
你使用过JavaScript的模板系统吗?
木有
如有使用做,请谈谈你都使用过那些类似库文件。比如Mustache.js,Handlebars等等。
请解释变量声明提升。
就是声明变量会在最开始执行。比如alert(a);var a = 2;alert(a);会弹出undefined和2;
请描述下事件冒泡机制。
。。。。
"attribute"和"property"的区别是什么?
.....
为什么扩展JavaScript内置对象是个坏做法?
容易坑别人
为什么扩展JavaScript内置对象是个好做法?
耍我?
请指出document load和document ready的区别。(这是个问题的问题)
一般用window.onload比较多把。。就是dom树解析完毕和文档完全加载完的区别
'=='和'==='有什么不同?
==会先转换类型再比较。===是类型和值全等
你如何获取浏览器URL中查询字符串中的参数。
location.toString().split("?").pop();?貌似location对象有个属性可以得到,忘了。
请解释一下JavaScript的同源策略。
貌似听过,没印象
请解释一下事件代理。
利用事件冒泡和event.target来实现的,三言两语说不清
请描述一下JavaScript的继承模式。
。。
如何实现下列代码:

[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]
描述一种JavaScript memoization(避免重复运算)的策略。

什么是三元条件语句?
a>b?a:b;
函数的参数元是什么?
不知道
什么是"use strict"?使用它的好处和坏处分别是什么?
严格模式。一种更严格的js代码。
JS代码示例:

~~3.14
问题:上面的语句的返回值是什么? 答案:3

"i'm a lasagna hog".split("").reverse().join("");
问题:上面的语句的返回值是什么? 答案:"goh angasal a m'i"

( window.foo || ( window.foo = "bar" ) );
问题:window.foo的值是什么? 答案:"bar" 只有window.foo为假时的才是上面答案,否则就是它本身的值。

var foo = "Hello"; (function() { var bar = " World"; alert(foo + bar); })(); alert(foo + bar);
问题:上面两个alert的结果是什么? 答案: "Hello World" & ReferenceError: bar is not defined

var foo = [];
foo.push(1);
foo.push(2);
问题:foo.length的值是什么? 答案:'2'

var foo = {};
foo.bar = 'hello';
问题:foo.length的值是什么? **答案: undefined

jQuery相关问题
解释"chaining"。

解释"deferreds"。

你知道那些针对jQuery的优化方法。

请解释'.end()'的用途。
退回上一个包装集
你如何给一个事件处理函数命名空间,为什么要这样做?
解绑的时候好操作
请说出你可以传递到jQuery方法的四种不同值。
dom,字符串,jquery包装集,选择器。
选择器(字符串),HTML(字符串),回调函数,HTML元素,对象,数组,元素数组,jQuery对象等。
什么是效果队列?

请指出'.get()','[]','eq()',的区别。
get和[]是转dom的方法,eq返回的还是jquery对象。
请指出'.bing()','.live()'和'.delegate()'的区别。
绑定和委托
请指出'$'和'$.fn'的区别?或者说出'$.fn'的用户。
$.fn做插件时用。
请优化下列选择器:

$(".foo div#bar:eq(0)")
CSS相关问题
描述css reset的作用和用途。
重置浏览器
描述下浮动和它的工作原理。

清除浮动的方法有那些,分别适用于什么情形。
overflow。clear。
解释css sprites,如何使用。
背景图片定位
你最喜欢的图片替换方法是什么,你如何选择使用。
加个类去换啊
讨论CSS hacks,条件引用或者其他。
条件注释hack,写在html里面,选择符hack例如* html div{}这种。属性hack例如div{_height:100px;min-height:100px;}
如何为有功能限制的浏览器提供网页。
标准话html,少用css,更别用js;
你会使用那些技术和处理方法。
如何视觉隐藏网页内容,只让它们在屏幕阅读器中可用。

你使用过网格系统吗?如果使用过,你最喜欢哪种?
bootstrap
你使用过meidia queries(媒体查询)吗,或者移动网站相关的CSS布局。
木有
你熟悉SVG样式的书写吗?

如何优化网页的打印样式。

在书写高效CSS文件时会有哪些问题需要考虑。
复用性
你使用CSS预处理器吗?(SASS,Compass,Stylus,LESS)
用过sass
如果使用,描述你的喜好。
你是否接触过使用非标准字体的设计?
没有
字体服务,Google Webfonts, Typekit,等等。
请解释浏览器是如何根据CSS选择器选择对应元素的。
从右到左
可选的有趣问题
你编写过的最酷的代码是什么?其中你最自豪的是什么?

你知道HTML5的帮派标志吗?

你是否正在或曾经在一艘船上。(不懂这个幽默)

你使用的开发工具中,你最喜欢的部分是什么?

你有什么业余项目吗?是那种类型的?

解释cornify的重要性?(本题完全摸不到头脑)

在一张纸上,垂直写下ABCDE,然后不用任何代码,将他们到序排列。
反过来看?
静静的看他们是否将纸反转。
海盗还是忍者?

如果是两者的合体,并有恰当理由,可以加分。如果是僵尸猴子海盗加忍者加两分。(注:此题文化差异过大)
如果没有在Web开发,你会做什么?
会成为一个牛逼的生物化学医学家
卡门圣迭哥的隐藏处在哪里?

提示:本题的答案永远是错的。
你最爱的IE特性是什么?
讨厌ie全部版本
完句填空: Brendan Eich和Doug Crockford是JavaScript的____大牛____。

讨论:jQuery是牛逼的库还是最牛逼的库。
最牛逼的dom操作库
回复 支持 反对

使用道具 举报

发表于 2012-11-23 15:48:44 | 显示全部楼层
为什么看到上面的试题,我没几个会的?
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:00:28 | 显示全部楼层
看了之后我怎么觉得我是白痴的呢
回复 支持 反对

使用道具 举报

发表于 2013-8-28 10:48:47 | 显示全部楼层
⊙﹏⊙b汗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )

GMT+8, 2021-1-20 12:16 , Processed in 0.068329 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表