面试题

1.填空题

(1)获取随机数的方法:Math.random

(2)JS中奖一个变量前置强制改成浮点类型的方法:parseFloat(String)

(3)根据id获取元素的原生js方法:getElementById();

(4)将文档声明为HTML5文档类型,需要在文档头添加:

(5)Chrome浏览器的私有样式前缀:-webkit-

(6)CSS3设置圆角的属性名:border-radius

(7)CSS中,#是根据id来选择元素的,.是根据类名来选择元素的。

(8)form标签特有的属性请列举三个:method、action、enctype、target

(9)正则表达式中,$是什么意思:结尾位置

(10)typeof '123'返回:string

2.简答题

JSONP的原理是利用html页面中的script标签可跨域的原理,利用标签向服务器端请求一段JS代码,

然后,执行这段js代码,实现跨域的过程。

(4)display和position都有哪些值?分别列举一下这些值的用途?

display:block/inline/inline-block /table/table-cell/none

position: relative/absolute/fixed/static

display:block;/*当前元素以块级形式显示,默认宽度为父元素,可设定宽高,换行显示*/

display:inline;/*当前元素以行内形式显示,默认宽度为内容宽度,不可设宽高,同行显示*/

display:inline-block;/*显示时,默认宽度为内容宽度,可设宽高,同行显示*/

display:table;/*显示规则和block相同,但是样式为table的样式*/

display:table-cell;/*以table 单元格的样式显示*/

display:none;/*元素小时,位置也不占*/

position:relative;/*当前元素被设为相对定位,元素在文档流中,百分比的参照物是元素本身*/

position:absolute;/*当前元素被设为绝对定位,元素脱离文档流,定位参照物:第一个定位祖先/根元素*/

position:fixed;/*当前元素被设为固定定位,默认宽度为内容宽度,脱离文档流,参照物是视窗*/

(5)地址栏输入一个地址后,输入回车,描述一下这是开始,浏览器做什么。

1.在浏览器中输入要的网址:例如:facebook.com

2.浏览器查找域名的IP地址

导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:

浏览器缓存--浏览器会缓存DNS记录一段时间。但操作系统没有告诉浏览器存储的时间,这样各个浏览器会存储各自的

一个固定的时间(2分钟到30分钟不等)。

系统缓存--如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便能获得系统缓存中      的记录。

路由器缓存--接着,前面的查询请求发向路由器,它一般有自己的DNS缓存。

ISP(互联网服务提供商) DNS缓存--接下来要检测的就是ISP的缓存DNS的服务器。在这一般都能找到相应的缓存记录。

递归搜索--你的ISP的DNS服务器从根域名服务器开始进行递归搜索,从.com顶级域名服务器到facebook的域名服务器。一般DNS的缓存

中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。

但是,DNS有一点令人担忧,像wikipedia.org或者facebook.com这样的整个域名看上去就对应着一个单独的IP地址,还好有几种方法可以消除这个瓶颈:

循环DNS:是DNS查找时返回多个IP时的解决方案。举例来说,facebook.com实际上就对应了4个IP地址。

负载平衡器:是以一个特定IP地址进行侦听并将网络请求转发到集群服务器上的硬件设备。一些大型的站点一般都会使用这种昂贵的高性能复杂平衡器。

地理DNS根据用户所处的地理位置,通过把域名映射到多个不同的IP地址提高可扩展性。这样不同的服务器不能够更新同步状态,但映射静态内容的话非常好。

Anycast 是一个IP地址映射到多个物理主机的路由技术。美中不足,Anycast与TCP协议适应的不是很好,所以很少应用在那些方案中。

大多数DNS服务器使用Anycast来请求高效低延迟的DNS查找。

3.浏览器给web服务器发送一个HTTP请求

因为像Facebook主页这样的动态页面,打开后在浏览器缓存中很快甚至马上就会过期,毫无疑问他们不能从缓存中读取,所以,浏览器将把一个请求发送到Facebook所在的服务器:

4.facebook服务的永久重定向响应

5.浏览器跟踪重定向地址

6.服务器“处理”请求

7.服务器发回一个HTML响应

8.浏览器开始显示HTML

9.浏览器发送获取嵌入在HTML中的对象

10.浏览器发送异步(Ajax)请求

5.应用题

(1)创建一个js类,模拟实现方法的重载。

function A(){

this.a=null;

this.b=null;

}

var pro = A.prototype;

//模拟重载

pro.add = function(){

if(arguments.length==1){

console.log(arguments[0]);

}

if(arguments.length==2){

result = arguments[0]+arguments[1];

console.log(result);

}

}

var a = new A();

a.add(1);

a.add(1,2);

(2)JS中会有排序的需求,用jS实现一个标准的排序算法,对一个数字数组进行由小到大的排列。

var b = [2,3,8,3,1,5];

sort1(b);

console.log(b);

function sort1(a){

var i,j;

for(i=0;i

var temp;

var flag=0;

for(j=0;j

if(a[j]>a[j+1]){

temp = a[j+1];

a[j+1]=a[j];

a[j]=temp;

flag=1;

}

}

if(flag==0)break;

}

return a;

}

4.编程题

用HTML、css和js魔力实现下拉框,使得下拉框在各个浏览器的样式和行为完全一致。说出你的设计方案,并且重点说明功能设计实现时要考虑的因素。

Document

p,ul {

margin: 0;

}

ul {

padding: 0;

}

a {

text-decoration: none;

color: #000;

}

.btn {

border: 1px solid #000;

width: 100px;

text-align: center;

margin-bottom: 0.5px;

cursor: pointer;

padding: 2px 0;

}

.down {

width: 100px;

border: 1px solid #000;

text-align: center;

display: block;

}

.l_sm {

border: 1px solid grey;

list-style: none;

padding: 2px 0;

cursor: pointer;

}

.l_sm:hover {

}

点击

  • 第一项
  • 第二项
  • 第三项
  • 第四项
  • var btn = document.getElementById("btn");

    var show = document.getElementById("show");

    btn.addEventListener("click",function(){

    var style = window.getComputedStyle(show).display;

    if(style=="block"){

    show.style.display = "none";

    }else{

    show.style.display = "block";

    }

    });

    最后编辑于
    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 160,881评论 4 368
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 68,052评论 1 301
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 110,598评论 0 250
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 44,407评论 0 217
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 52,823评论 3 294
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 40,872评论 1 224
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 32,037评论 2 317
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 30,778评论 0 204
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 34,505评论 1 247
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 30,745评论 2 253
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 32,233评论 1 264
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 28,568评论 3 260
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 33,231评论 3 241
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 26,141评论 0 8
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 26,939评论 0 201
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 35,954评论 2 283
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 35,784评论 2 275

    推荐阅读更多精彩内容

    • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
      clark124阅读 3,418评论 1 19
    • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
      子非鱼_t_阅读 31,296评论 18 399
    • 在线阅读 http://interview.poetries.top[http://interview.poetr...
      程序员poetry阅读 113,870评论 24 450
    • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
      Simon_s阅读 2,199评论 0 8
    • 沉醉 文/微露清愁 一次情深意长的买醉 沉沉睡过一个冰冷之季 在荆棘密布的梦靥中颤栗
      微露清愁阅读 168评论 0 0