面试题范例

时间:2024.4.20

面试题范例

■ 此时有宇宙飞船你会进去吗?

您可能已经读过求职方面的书,并在心里反复温习了面试标准问题的答案。但是面试官提的是其他问题,一些你没有想到的问题,这时该怎么办?这样的问题可能是最难的,因为它们会表明你的思维敏捷程度。它们可能非常有诱惑力,让您戒备心全无,从而中了面试官的圈套,展现出自己的方方面面,包括你原本不打算暴露出来的某些个性。

□ 范例一

几年来,我遇到三个刁钻的问题。可惜的是,我因没有心理准备而未能给出令人满意的答复。

(1)你的约会很多吗?(问这个问题的是美国一家防务公司的一名女面试官。)

(2)你今天为什么来这里?(一家投资银行的面试官走进他的办公室,看到我坐在那里等他时所问的问题。)

(3)如果此时外面有一艘宇宙飞船着陆,你会走进去吗?如果它可以去任何一个地方,你会要求它把您带到哪里?(一家投资银行的面试官所问的问题。)——***,19xx年5月3日

□ 建议

这几个问题都具有挑战性,虽然第一个问题看上去有点不同寻常,是一名女性向另一名女性提出的问题,但你仍要认真作答,让对方感到满意。比较好的回答方式是:“如果你担心我对私人生活的关注程度大于对工作的关注程度,那么我向你保证,我对工作非常投入。同样,我努力保持平衡的生活,以各种各样的方式充实我的业余生活。”这既回答了面试官的问题,也没有暴露自己的隐私。

“你今天为什么来这里”这样的问题给你提供了一个阐述自己对这份工作的热情的机会。如果你不是从这句话的表面意思去看,那么这就是一个刁钻的问题。在接受面试时,很重要的一点是让自己轻松一点,不要分析每个问题到底是什么意思。想方设法让你的回答能够拉近你与面试官之间的关系。并表明你作为这个职位的应聘者,有着自己的优势。“我来这里是要和你讨论一下我应聘某某工作的问题。你愿意同我介绍一下自己的情况吗?”

宇宙飞船这个问题问的是你有多大的冒险精神,要回答这个问题,需要根据你对自己所应聘的工作的了解好好组

织自己的语言。假如这项工作要求你具有创新精神,那么你可以说:“是的,我会上去,去见见曾经在这个星球走过的那些最具有创新精神的人,问问他们最喜欢用什么方式来让自己尽可能保持创造力。”

■ 下水道的井盖为什么是圆的?

**公司的顾问有时会得到一些特殊待遇,因为在面试时询问他们的问题并不是真的算算术。

□ 范例二

@@(人名)在**公司找工作

面试官:现在我们要问一个问题,看看你的创造性思维能力。不要想得太多,运用日常生活中的常识,描述一下你的想法。这个问题是,下水道的井盖为什么是圆的?

@@:它们并不都是圆的,有些是方的,的确有些圆井盖,但我也看过方的,长方的。

面试官:不过我们只考虑圆形的井盖,他们为什么是圆的?

@@:如果我们只考虑圆的,那么它们自然是圆的。

面试官:我的意思是,为什么会存在圆的井盖?把井盖设计成圆形的有什么特殊的意义吗?

@@:是有特殊意义,当需要覆盖的洞是圆形时,通常盖子也是圆的。用一个圆形的盖子盖一个圆形的洞,这是最简单的办法。

面试官:你能想到一个圆形的井盖比方形的井盖有哪些优点吗?

@@:在回答这个问题之前,我们先看看盖子下面是什么。盖子下面的洞是圆的,因为圆柱形最能承受周围土地的压力。而且,下水道出孔要留出足够一个人通过的空间,而一个顺着梯子爬下去的人的横截面基本是圆的,所以圆形自然而然地成为下水道出入孔的形状。圆形的井盖只是为了覆盖圆形的洞口。

面试官:你认为存在安全方面的考虑吗?我的意思是,方形的井盖会不会掉进去,因此造成人身伤害?

@@:不大可能。有时在一些方形洞口上也会看到方形的盖子。这种盖子比入口大,周围有横挡,通常这种盖子是

金属质地,非常重。我们可以想象一下,两英尺宽的方形洞口,1到1.5英寸宽的横挡。为了让井盖掉进去,需要抬起一端,然后旋转30度,这样它就不受横挡的妨碍了,然后再将井盖与地平线成45度角,这时转移的重心才足以让井盖掉下去。是的,方形的井盖的确存在掉下去的可能,但可能性很小,只要对负责开井盖的人稍加培训,他就不会犯这样的错误。从工程学来看,井盖的形状完全取决于它要覆盖的洞口的形状。

面试官:(面有难色)我要与管理层谈点事情。(离开了房间)

10分钟后,面试官回来了。

面试官:我们推荐你立刻去推销部工作。

□ 建议

XXX参加**公司面试

时间是200*年**月**日上午10点23分

我所经历的面试过程是:

1.一名主管问我:你想过在这里工作吗?

2.人力资源部的人在电话里和我谈了一个小时。他们问了我一些问题,以确信我的经历与简历上描述的内容相符,同时也为了避免在之后时间较长的面试中出现令他们尴尬的事情。

3.我通过了人力资源部的电话约谈,于是他们用飞机把我送到了**公司工地设在雷德蒙德的总部。

4.对我的面试从上午8点半开始。首先是和人力资源部的人谈,她向我解释了面试程序,以确保有必要让我进入下一轮面试。

5.她给我一个名单,上面是三个面试官的名字,他们将在午餐的时候面试我,她说得很准确,如果这三个人喜欢我,我会得到另外一个名单,也就是“午餐后”的面试名单。

如果你在吃午餐的时候就得走人,那么你就会知道自己把事情搞砸了(不过据内部的人讲,这样情况不多)。最后一条建议:要让自己一整天保持精力充沛。这很难。由于全天都在回答问题,到下午4点的时候,就很难进行有条理

的思考了。不过许多决定都是基于“这个家伙是否对科技充满热情”这一点做出的。

■ 选择题看人品

□ 范例1

请在ABCD中选择正确的答案

根据###对道德利己主义的解释,我们不仅可能做有利于他人的事,重要的是我们只有在这种情况下才会这样做:

A通过满足别人的利益,也满足了我们自己的利益

B我们出于同情心,而不总是为了利己而帮助他人

C我们的行为是没有私心的

D我们的生活与禁欲主义的目标吻合(即简单和克己)

□ 范例2

在5分钟之内,对下列单项主题进行即兴论述

责任:

“有时候负责意味着得罪别人。”

——科林·鲍威尔将军

体谅和尊重

“信任别人,他们就会用真诚来回报你;善待他们,他们就会表现出自身的伟大品质。”——托马斯·肯皮斯

正直

“如果你讲的是真话,那你就不必劳神去记忆。”——马克·吐温

例1答案:A

■ 脑筋急转弯

□ 范例1

数学能力:

100美元哪里去了?

三个朋友住进了一家宾馆。结账时,账单总计3000美元。三个朋友每人分摊1000美元,并把这3000美元如数交给了服务员,委托他代到总台交账,但在交账时,正逢宾馆实施价格优惠,总台退还给服务员500美元,实收2500美元,服务员从这500美元退款中扣下了200美元,只退还三客人300美元,三客人平分了这300美元,每人取回了100美元,这样,三个客人每人实际支付900美元,共支付2700美元,加上服务员扣的200美元,共计2900美元,那么这100美元的差额到哪里去了?

答案:这题纯粹是文字游戏,但是如果你的头脑不够清晰,很可能把你搞糊涂了。客人实际支付2700美元,就等于总台实际结收的2500美元加上服务员克扣的200美元。在这2700美元加上200美元是毫无道理的,如果在这2700美元加退回的300美元,这是有道理的,因为这等于客人原先交给服务员的3000美元。

反应能力谁是罪犯?

在某商厦珠宝盗窃案中,警方已查明作案人肯定是ABCD四人中的一人:在审讯中,他们的口供如下:

A说:珠宝被盗那天,我在乡下,不可能进入商厦盗窃

B说:D是罪犯

C说:B才是罪犯分子,我曾经看见过他卖过珠宝

D说:B与我有仇,所以诬陷我 经核实,四人中只有一个人说的是实话,你能从中找出谁是罪犯吗?

答案:D说的是真话,A是罪犯。

□ 范例2

情商:

1什么书中毛病最多?(医书)

2什么东西说“父亲”时不会相碰?叫“爸爸”时却会碰到两次?(上嘴唇和下嘴唇) 3太平洋的中间是什么?(平字)


第二篇:前端面试题2


20xx年最新前端开发面试题(面霸题库)

欢迎加入Javascript前端技术,群号为:85088298 本人博客已经迁移至jruif.github.io The last time that refresh: 2014/3/11 13:47:07

本文总结了一些常见前端面试(多数源于网络),希望阅后也要用心钻研其中的原理,重要知识需要系统学习,透彻学习,形成自己的知识链。

万不可投机取巧。只求当时过关,非长久之计也!

面试有几点需要注意:(来源程劭非老师 Github:@wintercn | Weibo:寒冬winter) 1.

2.

3. 面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑、深度↑、方向↑。 题目类型: 技术视野、项目细节、理论知识型题,算法题,开放性题,案例题。 进行追问: 可以确保问到你开始不懂或者面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力。因为这种关联知识是长时期的学习,绝对不是临时记得住。

4. 回答问题再棒,面试官(一般是你的直接领导面试),会考虑我要不要这个人做我的同事?所以态度很重要。(感觉像是相亲一样)

5. 资深的工程师能把absolute和relative弄混,这样的人不要也罢,因为团队需要的你这个人具有可以依靠的才能(靠谱)。

另外:

资料刚刚收集,覆盖面比较广,包括了web端、移动端的知识点,根据你自己的需要选择性阅读即可。

再次提一下: 看 或 背 面试题不像学校考试,死记硬背是没什么用的,看面试题是对理论知识的总结让自己表达的时候知道怎么说。

答案有些不够正确和全面,问题问的不够好,欢迎补充你所知道的答案、技巧、题目;最好是现在网上找不到的。

格式不断修改更新中。

HTML、CSS部分

要点:对Web标准的理解、浏览器差异、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端开发 技术等

1.Doctype作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

(1)、<!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。

(2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。

(3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。

(4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

2.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

(1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,比如div默认display属性值为“block”,成为“块级”元素;span默认display属性值为“inline”,是“行内”元素。

(2)行内元素有:a b span img input select strong(强调的语气) 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4?p

(3)知名的空元素: <br> <hr> <img> <input> <link> <meta>

鲜为人知的是: <area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr>

3.CSS的盒子模型?

(1)两种, IE 盒子模型、标准 W3C 盒子模型;IE 的content部分包含了 border 和 pading;

(2)盒模型: 内容(content)、填充(padding)、边界(margin)、 边框(border).

4.link 和@import 的区别是?

(1)、link属于XHTML标签,而@import是CSS提供的;

(2)、页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;

(3)、import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;

(4)、link方式的样式的权重 高于@import的权重.

5.CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?

* 1.id选择器( # myid)

2.类选择器(.myclassname)

3.标签选择器(div, h1, p)

4.相邻选择器(h1 + p)

5.子选择器(ul < li)

6.后代选择器(li a)

7.通配符选择器( * )

8.属性选择器(a[rel = "external"])

9.伪类选择器(a: hover, li: nth - child)

* 可继承: font-size font-family color, UL LI DL DD DT;

* 不可继承 :border padding margin width height ;

* 优先级就近原则,样式定义最近者为准;

* 载入样式以最后载入的定位为准;

优先级为:

!important > id > class > tag

important 比 内联优先级高

CSS3新增伪类举例:

p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。 p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。 p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。 p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。 :enabled、:disabled 控制表单控件的禁用状态。

:checked,单选框或复选框被选中。

6.如何居中div,如何居中一个浮动元素?

? 给div设置一个宽度,然后添加margin:0 auto属性

?

?

?

? div{ width:200px; margin:0 auto; }

? 居中一个浮动元素

?

?

?

?

?

?

?

?

?

?

? 确定容器的宽高 宽500 高 300 的层 设置层的外边距 .div { Width:500px ; height:300px;//高度可以不设 Margin: -150px 0 0 -250px; position:relative;相对定位 background-color:pink;//方便看效果 left:50%; top:50%; }

7.浏览器的内核分别是什么?经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?

* IE浏览器的内核Trident、 Mozilla的Gecko、google的WebKit、Opera内核Presto;

* png24为的图片在iE6浏览器上出现背景,解决方案是做成PNG8.

* 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。

* IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。

浮动ie产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;}

这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)

渐进识别的方式,从总体中逐渐排除局部。

首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。 接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。

css

.bb{

background-color:#f1ee18;/*所有识别*/

.background-color:#00deff\9; /*IE6、7、8识别*/

+background-color:#a200ff;/*IE6、7识别*/

_background-color:#1e0bd1;/*IE6识别*/

}

* IE下,可以使用获取常规属性的方法来获取自定义属性,

也可以使用getAttribute()获取自定义属性;

Firefox下,只能使用getAttribute()获取自定义属性.

解决方法:统一通过getAttribute()获取自定义属性.

* IE下,even对象有x,y属性,但是没有pageX,pageY属性;

Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.

* (条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。

* Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.

超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序:

L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

8.html5\CSS3有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

? HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,地理定位等功能的增加。

? * 绘画 canvas 元素

?

?

?

?

?

?

?

?

?

?

?

?

? 用于媒介回放的 video 和 audio 元素 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; sessionStorage 的数据在浏览器关闭后自动删除 语意化更好的内容元素,比如 article、footer、header、nav、section 表单控件,calendar、date、time、email、url、search CSS3实现圆角,阴影,对文字加特效,增加了更多的CSS选择器 多背景 rgba 新的技术webworker, websockt, Geolocation

? 移除的元素

?

?

?

?

?

?

?

?

?

?

?

?

? 纯表现的元素:basefont,big,center,font, s,strike,tt,u; 对可用性产生负面影响的元素:frame,frameset,noframes; * 是IE8/IE7/IE6支持通过document.createElement方法产生的标签, 可以利用这一特性让这些浏览器支持HTML5新标签, 浏览器支持新标签后,还需要添加标签默认的样式: * 当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架 <!--[if lt IE 9]> <script> src="/svn/trunk/html5.js"</script> <![endif]-->

9.你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏 品 字布局 如何设计?

* 首先划分成头部、body、脚部;。。。。。

*

实现效果图是最基本的工作,精确到2px;

与设计师,产品经理的沟通和项目的参与

做好的页面结构,页面重构和用户体验

处理hack,兼容、写出优美的代码格式

针对服务器的优化、拥抱 HTML5。

10.常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?

* 使用率较高的框架有jQuery、YUI、Prototype、Dojo、Ext.js、Mootools等。尤其是jQuery,超过91%。

轻量级框架有Modernizr、underscore.js、backbone.js、Raphael.js等。 (理解这些框架的功能、性能、设计原理)

* Sublime Text 、Eclipse、Notepad、Firebug、HttpWatch、Yslow。

* 城市选择插件,汽车型号选择插件、幻灯片插件。弹出层。(写过开源程序,加载器,js引擎更好)

1. JavaScript原型,原型链 ? 有什么特点?

2. * 原型对象也是普通的对象,是对象一个自带隐式的 __proto__ 属性,原型也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链。

3. * 原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。

4.

5. * JavaScript的数据对象有那些属性值?

6.

7. writable:这个属性的值是否可以改。

8.

9. configurable:这个属性的配置是否可以删除,修改。 10.

11. enumerable:这个属性是否能在for?in循环中遍历出来或在Object.keys中列举出来。

12.

13. value:属性值。

14.

15. * 当我们需要一个属性的时,Javascript引擎会先看当前对象中是否有这个属性, 如果没有的话,就会查找他的Prototype对象是否有这个属性。 16.

17. function clone(proto) {

18.

19. function Dummy() { }

20.

21. Dummy.prototype = proto;

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34. Dummy.prototype.constructor = Dummy; return new Dummy(); //等价于Object.create(Person); } function object(old) { function F() {}; F.prototype = old; return new F(); } var newObj = object(oldObject);

12.列出display的值,说明他们的作用。position的值, relative和absolute定位原点是?

1. block 象块类型元素一样显示。

none 缺省值。向行内元素类型一样显示。

inline-block 象行内元素一样显示,但其内容象块类型元素一样显示。 list-item 象块类型元素一样显示,并添加样式列表标记。

2.

*absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

*fixed (老IE不支持)

生成绝对定位的元素,相对于浏览器窗口进行定位。

*relative

生成相对定位的元素,相对于其正常位置进行定位。

* static 默认值。没有定位,元素出现在正常的流中

*(忽略 top, bottom, left, right z-index 声明)。

* inherit 规定从父元素继承 position 属性的值。

13.页面重构怎么操作?

编写 CSS、让页面结构更合理化,提升用户体验,实现良好的页面效果和提升性能。

14.语义化的理解?

html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析; 在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。

搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。

使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

15.HTML5的离线储存?

localStorage 长期存储数据,浏览器关闭后数据不丢失;

sessionStorage 数据在浏览器关闭后自动删除。

16.为什么要初始化CSS样式。

? 因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

? 当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。

*最简单的初始化方法就是: * {padding: 0; margin: 0;} (不建议)

淘宝的样式初始化:

body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }

body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; }

h1, h2, h3, h4, h5, h6{ font-size:100%; }

address, cite, dfn, em, var { font-style:normal; }

code, kbd, pre, samp { font-family:couriernew, courier, monospace; } small{ font-size:12px; }

ul, ol { list-style:none; }

a { text-decoration:none; }

a:hover { text-decoration:underline; }

sup { vertical-align:text-top; }

sub{ vertical-align:text-bottom; }

legend { color:#000; }

fieldset, img { border:0; }

button, input, select, textarea { font-size:100%; }

table { border-collapse:collapse; border-spacing:0; }

17.(写)描述一段语义的html代码吧。

(HTML5中新增加的很多标签(如:<article>、<nav>、<header>和<footer>等)

就是基于语义化设计原则)

< div id="header">

< h1>标题< /h1>

< h2>专注Web前端技术< /h2>

< /div>

? 语义 HTML 具有以下特性:

?

?

?

?

?

?

?

?

?

?

? 文字包裹在元素中,用以反映内容。例如: 段落包含在 <p> 元素中。 顺序表包含在<ol>元素中。 从其他来源引用的大型文字块包含在<blockquote>元素中。 HTML 元素不能用作语义用途以外的其他目的。例如: <h1>包含标题,但并非用于放大文本。 <blockquote>包含大段引述,但并非用于文本缩进。 空白段落元素 ( <p></p> ) 并非用于跳行。 文本并不直接包含任何样式信息。例如: 不使用 <font> 或 <center> 等格式标记。 类或 ID 中不引用颜色或位置。

18.absolute的containing block计算方式跟正常流有什么不同?

19.position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

20.对BFC规范的理解?(W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关 系和相互作用。)

21.iframe有那些缺点?

*iframe会阻塞主页面的Onload事件;

*iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。

使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript

动态给iframe添加src属性值,这样可以可以绕开以上两个问题。

22.css定义的权重

以下是权重的规则:标签的权重为1,class的权重为10,id的权重为100,以下例子是演示各种定义的权重值:

/*权重为1*/

div{

}

/*权重为10*/

.class1{

}

/*权重为100*/

#id1{

}

/*权重为100+1=101*/

#id1 div{

}

/*权重为10+1=11*/

.class1 div{

}

/*权重为10+10+1=21*/

.class1 .class2 div{

}

如果权重相同,则最后定义的样式会起作用,但是应该避免这种情况出现

23.eval是做什么的?

它的功能是把对应的字符串解析成JS代码并运行;

避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

23.写一个通用的事件侦听器函数

`// event(事件)工具集,来源:https://github.com/markyun

markyun.Event = {

// 页面加载完成后

readyEvent : function(fn) {

if (fn==null) {

fn=document;

}

var oldonload = window.onload;

if (typeof window.onload != 'function') {

window.onload = fn;

} else {

window.onload = function() {

oldonload();

fn();

};

}

},

// 视能力分别使用dom0||dom2||IE方式 来绑定事件

// 参数: 操作的元素,事件名称 ,事件处理程序

addEvent : function(element, type, handler) {

if (element.addEventListener) {

//事件类型、需要执行的函数、是否捕捉

element.addEventListener(type, handler, false);

} else if (element.attachEvent) {

element.attachEvent('on' + type, function() {

handler.call(element);

});

} else {

element['on' + type] = handler;

}

},

// 移除事件

removeEvent : function(element, type, handler) {

if (element.removeEnentListener) {

element.removeEnentListener(type, handler, false); } else if (element.datachEvent) {

element.detachEvent('on' + type, handler);

} else {

element['on' + type] = null;

}

},

// 阻止事件 (主要是事件冒泡,因为IE不支持事件捕获)

stopPropagation : function(ev) {

if (ev.stopPropagation) {

ev.stopPropagation();

} else {

ev.cancelBubble = true;

}

},

// 取消事件的默认行为

preventDefault : function(event) {

if (event.preventDefault) {

event.preventDefault();

} else {

event.returnValue = false;

}

},

// 获取事件目标

getTarget : function(event) {

return event.target || event.srcElement;

},

// 获取event对象的引用,取到事件的所有信息,确保随时能使用event; getEvent : function(e) {

var ev = e || window.event;

if (!ev) {

var c = this.getEvent.caller;

while (c) {

ev = c.arguments[0];

if (ev && Event == ev.constructor) {

前端面试题2

? 通常可以做一些小练习来判断TA的水平,js 虽然很灵活,但是具体的代码和实现方式能体现出一个人的全局观,随着代码规模的增长,复杂度增加,如何合理划分模块实现功能和接口的能力比较重要。(下面例题)

?

?

?

?

?

?

?

? ["1", "2", "3"].map(parseInt) [typeof null, null instanceof Object] [ [3,2,1].reduce(Math.pow), [].reduce(Math.pow)] ] var val = 'smtg'; console.log('Value is ' + (val === 'smtg') ? 'Something' :

'Nothing');

1.创建一个对象

function Person(name, age) {

this.name = name;

this.age = age;

this.sing = function() { alert(this.name) }

}

2.谈谈This对象的理解。

this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。

但是总有一个原则,那就是this指的是调用函数的那个对象。

this一般情况下:是全局对象Global。 作为方法调用,那么this就是指这个对象

3.事件、IE与火狐的事件机制有什么区别? 如何阻止冒泡?

1. 我们在网页中的某个操作(有的操作对应多个事件)。例如:当我们点击一个按钮就会产生一个事件。是可以被 JavaScript 侦测到的行为。

2. 事件处理机制:IE是事件冒泡、火狐是 事件捕获;

3. ev.stopPropagation();

4.什么是闭包(closure),为什么要用?

? 待完善

? 执行say667()后,say667()闭包内部变量会存在,而闭包内部函数的内部变量不会存在.使得Javascript的垃圾回收机制GC不会收回say667()所占用的资源,因为say667()的内部函数的执行需要依赖say667()中的变量。这是对闭包作用的非常直白的描述. ?

?

?

?

?

?

?

?

?

? function say667() { // Local variable that ends up within closure var num = 666; var sayAlert = function() { alert(num); } num++; return sayAlert; } var sayAlert = say667(); sayAlert()//执行结果应该弹出的667

5.如何判断一个对象是否属于某个类?

使用instanceof (待完善)

if(a instanceof Person){

alert('yes');

}

6.new操作符具体干了什么呢?

1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

2、属性和方法被加入到 this 引用的对象中。

3、新创建的对象由 this 所引用,并且最后隐式的返回 this 。

var obj = {};

obj.__proto__ = Base.prototype;

Base.call(obj);

7.JSON 的了解

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小

{'age':'12', 'name':'back'}

8.js延迟加载的方式有哪些

? defer和async、动态创建DOM方式(用得最多)、按需异步载入js

9.ajax 是什么?ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

? 待完善

?

?

?

?

?

?

?

?

?

? 1. 通过异步模式,提升了用户体验 2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用 3. Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。 2. Ajax的最大的特点是什么。 Ajax可以实现动态不刷新(局部刷新) readyState属性 状态 有5个可取值: 0=未初始化 ,1=正在加载 2=

以加载,3=交互中,4=完成 ? ajax的缺点

?

?

?

?

?

?

?

?

?

? 1、ajax不支持浏览器back按钮。 2、安全问题 AJAX暴露了与服务器交互的细节。 3、对搜索引擎的支持比较弱。 4、破坏了程序的异常机制。 5、不容易调试。 跨域: jsonp、 iframe、window.name、window.postMessage、服务器上设置代理页

10.模块化怎么做?

立即执行函数,不暴露私有成员 var module1 = (function(){ var _count = 0;

var m1 = function(){ //...

};

var m2 = function(){ //...

};

return {

m1 : m1,

m2 : m2

};

})();

11.对Node的优点和缺点提出了自己的看法:

*(优点)因为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,

因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多。

此外,与Node代理服务器交互的客户端代码是由javascript语言编写的, 因此客户端和服务器端都用同一种语言编写,这是非常美妙的事情。

*(缺点)Node是一个相对新的开源项目,所以不太稳定,它总是一直在变, 而且缺少足够多的第三方库支持。看起来,就像是Ruby/Rails当年的样子。

12.异步加载的方式

(1) defer,只支持IE

(2) async:

(3) 创建script,插入到DOM中,加载完毕后callBack

documen.write和 innerHTML的区别

document.write只能重绘整个页面

innerHTML可以重绘页面的一部分

13.告诉我答案是多少?

(function(x){

delete x;

alert(x);

})(1+5);

函数参数无法delete删除,delete只能删除通过for in访问的属性。 当然,删除失败也不会报错,所以代码运行会弹出“1”。

14.JS中的call()和apply()方法的区别?

例子中用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4); 注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。

function add(a,b)

{

alert(a+b);

}

function sub(a,b)

{

alert(a-b);

}

add.call(sub,3,1);

15.Jquery与jQuery UI 有啥区别?

*jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。

*jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。 提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等

16.jquery 中如何将数组转化为json字符串,然后再转化回来?

jQuery中没有提供这个功能,所以你需要先编写两个jQuery的扩展:

$.fn.stringifyArray = function(array) {

return JSON.stringify(array)

}

$.fn.parseArray = function(array) {

return JSON.parse(array)

}

然后调用:

$("").stringifyArray(array)

17.JavaScript中的作用域与变量声明提升?

其他部分

(HTTP、正则、优化、重构、响应式、移动端、团队协作、SEO、UED、职业生涯)

*基于Class的选择性的性能相对于Id选择器开销很大,因为需遍历所有DOM元素。

*频繁操作的DOM,先缓存起来再操作。用Jquery的链式调用更好。 比如:var str=$("a").attr("href");

*for (var i = size; i < arr.length; i++) {}

for 循环每一次循环都查找了数组 (arr) 的.length 属性,在开始循环的时候设置一个变量来存储这个数字,可以让循环跑得更快:

for (var i = size, length = arr.length; i < length; i++) {}

? 前端开发的优化问题(看雅虎14条性能优化原则)。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

? (1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。 (2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 (3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 (4) 当需要设置的样式很多时设置className而不是直接操作style。 (5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。 (6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。 (7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。 (8) 避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。

http状态码有那些?分别代表是什么意思?

100-199 用于指定客户端应相应的某些动作。

200-299 用于表示请求成功。

300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。

400-499 用于指出客户端的错误。400 1、语义有误,当前请求无法被服务器理解。401 当前请求需要用户验证 403 服务器已经理解请求,但是拒绝执行它。

500-599 用于支持服务器错误。 503 – 服务不可用

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好)

你所知道的页面性能优化方法有那些?

除了前端以外还了解什么其它技术么?你最最厉害的技能是什么?

AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?

18.谈谈你认为怎样做能是项目做的更好?

19.你对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?

20.加班的看法

加班就像借钱,原则应当是------救急不救穷

21.平时如何管理你的项目,如何设计突发大规模并发架构?

先期团队必须确定好全局样式(globe.css),编码模式(utf-8) 等

编写习惯必须一致(例如都是采用继承式的写法,单样式都写成一行);

标注样式编写人,各模块都及时标注(标注关键样式调用的地方);

页面进行标注(例如 页面 模块 开始和结束);

CSS跟HTML 分文件夹并行存放,命名都得统一(例如style.css)

JS 分文件夹存放 命民以该JS 功能为准英文翻译;

图片采用整合的 images.png png8 格式文件使用 尽量整合在一起使用方便将来的管理

1. 那些操作会造成内存泄漏?

2.

3. 内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。 垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。

如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。

4.

5. setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。

6. 闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产

生一个循环)

23.你说你热爱前端,那么应该WEB行业的发展很关注吧? 说说最近最流行的一些东西吧?

Node.js、Mongodb、npmM、MVVM、MEAN

24.你有了解我们公司吗?说说你的认识?

因为我想去阿里,所以我针对阿里的说

最羡慕就是在双十一购物节,350.19亿元,每分钟支付79万笔。海量数据,居然无一漏单、无一故障。太厉害了。

25.移动端(比如:Android IOS)怎么做好用户体验?

作为一名前端工程师,无论工作年头长短都应该必须掌握的知识点有:

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

2、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。

3、事件 —— 如何使用事件,以及IE和标准DOM事件模型之间存在的差别。

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

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

6、盒模型 —— 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型

7、块级元素与行内元素 —— 怎么用CSS控制它们、以及如何合理的使用它们

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

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

10、JSON —— 作用、用途、设计结构。

更多相关推荐:
面试流程范本

面试流程一面试轮次面试第一天初试面试第二天复试amp补试注对于参加复试和补试的人员我们采取分开面试的时间即先通知参加复试的人员900面试开始通知补试的人员1000开始为预防到时人员掺杂的情况在现场无论初试还是复...

面试范文

自我介绍范文一各位考官好今天能够站在这里参加面试有机会向各位考官请教和学习我感到非常的荣幸希望通过这次面试能够把自己展示给大家希望大家记住我我叫今年岁汉族法学本科我平时喜欢看书和上网浏览信息我的性格比较开朗随和...

面试范本-实习生

实习生面试问题及参考答案大多数实习生往往刚刚或者即将从海事院校毕业考虑到这些人并没有什么船上工作的实践知识任何船东在面试实习生时都不会提问船上实际工作遇到的问题而主要是考察实习生的专业知识英文水平身体素质精神面...

面试自我介绍经典范本

面试自我介绍经典范本范本1我是XX大学XX专业毕业这个专业与我所应聘的XX岗位非常对口我也非常热爱我的专业并希望在毕业后继续在这个方向发展我利用业余时间考取了相关的XX职业证书毕业后我通过严格的考试进入XX公司...

经典面试自我介绍范本大全

经典面试自我介绍范本大全经典面试自我介绍范本大全范本1我是XX大学XX专业毕业这个专业与我所应聘的XX岗位非常对口我也非常热爱我的专业并希望在毕业后继续在这个方向发展我利用业余时间考取了相关的XX职业证书毕业后...

面试自我介绍的范本

面试自我介绍的范本面试自我介绍范文我叫专业旅游管理我是一个性格开朗充满自信的阳光女孩开朗的性格使我充满活力善于与人交往从容自信使我勇于挑战自我去尝试学习新的事物我即将走完四年的求知之旅四年充实的大学生活培养了我...

面试基本介绍范文 全

在求职面试时大多数面试考官会要求应聘者做一个自我介绍一方面以此了解应聘者的大概情况另一方面考察应聘者的口才应变和心理承受逻辑思维等能力千万不要小视这个自我介绍他既是打动面试考官的敲门砖也是推销自己的极好机会因此...

面试登记表(范本)

员工面试登记表填表日期年月日

面试登记表(范本)

员工面试登记表填表日期年月日

面试礼仪范本

面试礼仪范本以下是小编为大家收集的求职礼仪仅供参考一礼貌问题在平时的面试中很多面试主管注重的不再是面试者具有多高的学历多强的专业知识掌握程度而是细节关键就是礼貌问题在当今社会知识在不断更新我们的专业技能也在不断...

面试自我介绍范文

面试自我介绍范文跪求1到3分钟的自我介绍范文我是刚刚毕业的大学生不知道要怎样自我介绍面试自我介绍宝典当面试考官随便地间你谈谈你自己的情况如何这是面试中的第一个问题此刻你应把在此之前所有紧张不安的情绪稳定下来因为...

20xx青年志愿者协会面试自我介绍

20xx青年志愿者协会面试自我介绍青年志愿者协会招新了青年志愿者协会面试首先要自我介绍那怎样做入青年志愿者协会我介绍的下面小编为大家带来青年志愿者协会面试自我介绍范文欢迎大家阅读各位青年志愿者协会部长大家好我叫...

面试范本(41篇)