前端面试题之nina分享

HTML相关

1、<!DOCTYPE>标签的定义与用法。   

<!DOCTYPE>的定义:

<!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。此标签可告知浏览器文档使用哪种HTML或XHTML规范。
该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML版本。(假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过
代码校验之外,还有可能无法在浏览器中正确显示。)

  <!DOCTYPE>的用法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    解析:在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD  。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

     -   :   表示组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。

     +为默认,表示组织名称已注册。

    DTD  :   指定公开文本类,即所引用的对象类型。 默认为DTD

     HTML :   指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。默认为HTML。

    URL  :  指定所引用对象的位置。

     Strict:排除所有 W3C 专家希望逐步淘汰的代表性属性和元素。

 2、块级元素和行内元素都有哪些? (比较常见的)

块级元素:p div table dl dd dt h1 h2 h3 h4 h5 h6 form hr 
行内元素:a span  font b strong br em i ul li ol

 3、你真的了解HTML吗?(据说是雅虎面试题,答案为借鉴)

考点1:html和 xhtml的区别
这行代码在html 4.01 strict下是完全正确的,在xhtml 1.0 strict下是错误一堆的。所以明显是一个考点。在xhtml下所有标签是闭合的,p,br需要闭合, 标签不允许大写,
P要小写。同时nbsp和br必须包含在容器里。html下这些都不是错。p在html里是可选闭合标签,是可以不用闭合的。
考点2:考样式分离
用nbsp控制缩进是不合理的。应该用CSS干这事。所以应该删掉nbsp
考点3:合理使用标签
br是强制折行标签,p是段落。原题用连续的br制造两个段落的效果,效果是达到了,但显然用的不合理,段落间距后期无法再控制。正确的做法是用两个p表现两个段落。“我说”
后面是正常的文字折行用br是合理的。

CSS相关

1、介绍所知道的CSS hack技巧(如:_, *, +, 9, !important 之类)。

—— 一般针对于IE6
* 一般针对于IE6 IE7都可以识别
+ IE7都可以识别
9 对于IE 6、7、8是不同兼容设置 (补充下是针对IE8识别的)
!important 是火狐浏览器比较常见的(建议少用)

2、介绍CSS盒模型。

每个HTML标记都可看作一个盒子;
每个盒子都有:边界、边框、填充、内容四个属性;
每个属性都包括四个部分:上、右、下、左;这四部分可同时设置,也可分别设置;

如果CSS对HTML文档元素生成了一个描述该元素在HTML文档布局中所占空间的矩形元素框(element box),那么我们可以形象地将其看作是一个盒子。

3、CSS层叠是什么?介绍一下。

CSS层叠指的是—上级标签的样式会自动继承到其所有下级标签,如针对<body>设置的标签选择器所设的字体样式会自动应用到<body>下的<p>中,除非<p>重写了相关样式将其覆盖。
CSS语义化的命名是指用易于理解的名称对html标签附加的class或id命名,如对于页面上方的<div>,可将其id设为header;页面下方的<div>设为footer,可以增强CSS的可维护性。 

4、都知道哪些CSS浏览器兼容性问题。

1、FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式 
2、IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。
3、IE6 7 例如一个比较经典的Bug就是设置border的时候,有时候border会断开,刷新页面或者拖下滚动条的时候,断掉的部分又会连接起来,解决方法zoom:1;overflow:hodden;或height:1%;
4、IE与FF透明度问题 等等就不一一列举了

 5、有时会被问到些刁钻点的题,比如position值都有哪些,CSS3都有哪些新内容...

position:absolute fixed inherit relative static 
CSS3属性:常用的圆角radius 投影shadow 渐变等等

以下内容暂时还需要学习,这是很早以前的面试题了 ,在网上复制过来的。

以上是通过网上内容和自己见解整理的,仅代表个人看法。

看到这些题,自己无比的鸭梨山大啊!

 javascript相关

  1. HTTP协议的状态消息都有哪些?(如200、302对应的描述)
  2. AJAX是什么? AJAX的交互模型(流程)? AJAX跨域的解决办法?
  3. 同步和异步的区别? 
  4. 简述JavaScript封装。
  5. JavaScript继承有哪两种形式形式,进行描述。
  6. 什么是闭包?以下代码点击<p>会输出什么?为什么?能大概说明白的话继续问能想出几种解决办法。
    复制代码
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>闭包演示</title>
    <style type="text/css">
    p
    {background:gold;}
    </style>
    <script type="text/javascript">
    function init() {
    var pAry = document.getElementsByTagName("p");
    for( var i=0; i<pAry.length; i++ ) {
    pAry[i].onclick
    = function() {
    alert(i);
    }
    }
    }
    </script>
    </head>
    <body onload="init();">
    <p>产品 0</p>
    <p>产品 1</p>
    <p>产品 2</p>
    <p>产品 3</p>
    <p>产品 4</p>
    </body>
    </html>
    复制代码
  7. 在JS中this关键字的使用场合和用法(如在构造函数中、setTimeout中等)。
  8. 简述下cookie的操作,还有cookie的属性都知道哪些。
  9. IE与FF的JS兼容性都知道哪些。
  10.  DOM操作 - 怎样添加、移除、移动、复制、创建和查找节点(这个问题真心是基础题,一般不会问)。

  JQuery相关

   1.jQuery源码是否尝试去读过?说说基本的架构或者 jQuery.fn.init 中都做了哪些判断。

   2.都知道哪些不好的jQuery书写方式。

   3.Sizzle是否有读过?

原文地址:https://www.cnblogs.com/ninali/p/3156626.html