百度2013校招考试题

百度2013校招试题

1、写5个html5的标签,并说明语义

//这个可以百度出来 但是我悲剧了,写对了三个 canvas,video,audio(这个我当时怎么拼也没拼对,这是悲剧啊),剩下的我写成了dl dt dd 当时脑子抽风了啊!

2、写一个函数 isDomContent(a, b) 

证明a是b的子元素

<div id="b"> <div id="a"> </div> </div>  return true;

<div id="b"> </div> <div id="a"> </div>  return false;

这个不难,用document.childNodes获取所有子元素,然后遍历,通过getAttribute('id')获取子元素的id 判断是否与a的相等,就行了

3、写一个LRUCache的缓存机制大概是三个函数

  1、构造函数 传人一个size 建立大小为size的空间

     

function LRUCache(size){
        this.size = size;
        var obj = {};
    }
2、往缓存里面添加数据add(key, value)

LRUCache.prototype.add = (function(key, value){
        if(this.size < 1 || typeof key != "string"){
            console.log('error');
            return false;
        }
        obj[key] = value;
    });

3、获取元素get(key)

LRUCache.prototype.get = (function(key){
        if(typeof key != "string"){
            return false;
        }
        for(var k in obj){
            if(k == key){
                return obj[key];
            }
        }
    });
4、说明http头部中的Cache-control Expires E-tag last-modile的区别

自行百度,这题我不太会,除非要我翻计算机网络的那本书才找到答案 不过但是可以从单词的意思大概推出是什么

5、用html和css编写一个相册封面,具体见我上一篇博客

6、使用js,实现类名包含red的所有元素的字体设置成红色粗体

这个不难,通过document.querySelectorAll('.red')获取类名包含red元素;

var elements = document.querySelectorAll('.red');
    for(var i = 0; i < elements.length; i ++){
        elements[i].style.color = "red";
        elements[i].style.fontWeight = "bold";
    }
7、暂时想不起来了;//请原谅

8、说明如何加快页面的渲染速度
这个就不用我说了,百度上有一大把的答案
9、是个附加题 主要说说你最自豪的一个研究