美文网首页
我要当FE Developer--面试题章--HTML篇1

我要当FE Developer--面试题章--HTML篇1

作者: 霹雳球 | 来源:发表于2016-09-16 14:43 被阅读327次

    道德三皇五帝, 功名夏后商周, 五霸七雄闹春秋, 顷刻兴亡过首。 青史几行名姓, 北茫无数荒丘, 前人撒种后人收, 无非是龙争虎斗! pia~(惊堂木)(自己手动拍手叫好)


    咳咳,很高兴能在这里给大伙讲一个故事,这个故事呢,叫做《我要当FE Developer》,这边的吃瓜群众要问了,什么是FE Developer 呀?
    FE Developer 就是Front-End-Developer,过了英语四级的人都知道,它叫前端开发,又有人问了,什么是前端开发呀?
    那我只能说去年买个登山包,趁我还没开始正式讲,把票又退了吧,学挖掘机美容美发不在这里。


    故事呢,不是从头讲起的,一开始就是面试题,所以希望你是有一些基础的(众人起哄),要退票的现在没戏了啊,我都开讲了。

    HTML篇

    • Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

    Doctype的作用:告知浏览器文档使用哪种HTML或者XHTML规范。
    模式分为: 阉割严格版本,过渡版本,以及基于框架的HTML文本。

    严格模式: 浏览器很时髦,他要以最高标准来呈现网页。
    混杂模式: 他很包容,既能够接受老式的样式,也能够接受时髦的东西,他将会以一种比较宽松的方式来向后兼容。而且遇到老前辈(也就是老网页)的时候,将会去模拟老式浏览器的行为来解析网页。


    • HTML5 为什么只需要写 <!DOCTYPE HTML>?

    一般的网页其实都要写DTD标准,但是HTML5并不是基于SGML的,所以不用写在PUBLIC后面,但是还是须要DOCTYPE来规范浏览器一标准模式渲染。
    而HTML4.01是基于SGML的,所以需要✅DTD进行引用。-----
    SGML 是国际上定义电子文档和内容描述的标准。


    • 行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
      推荐链接 biubiubiu~

    行内元素:(只写了常见的)
    a
    b
    br
    button
    em
    i
    img
    input
    label
    select
    span
    strong
    textarea

    行内元素属性

    • 设置width 无效
    • 设置height 无效,但是可以通过设置line-height来设置。
    • margin值设定只有左右有效,上下没有效果
    • 设置padding,只有左右padding有效,上下还是没有效果。

    块级元素
    address
    button
    div
    dl
    dt
    form
    h1->h6
    li
    p
    table
    tbody
    td
    tfoot
    th
    thead
    tr
    ul
    块级元素属性
    �设置height width 都有效。
    margin,padding上下左右都有效。

    空元素

    常见

    <area>
    <br‘>’(转个译)



    <img‘>’(转个译)
    <input>
    <link>
    <meta>

    #######不常见
    <base>
    <col‘>’(转个译)
    <colgroup‘>’
    <command>
    <embed>
    <keygen>
    <param>
    <source>
    <track>
    <wbr>

    • 页面导入样式时,使用link和@import有什么区别?
    1. link属于XHTML标签,而import是CSS提供的一种方式,也就导致了link除了可以引用css外还可以做很多其他的东西,比如说定义RSS,定义rel连接等等,但是对于@import 那就只能加载css了
    2. 他们两个的加载顺序不同,当一个页面被加载的时候,link引用的CSS会同时被加载,但是@import引用的样式是在页面加载完了之后才会加载, 在网速慢的时候两者的差别比较大。
    3. @import 在一些老浏览器上不兼容,link都兼容
    4. javascript可以通过dom去改变link的样式,但是不能改变@import的样式
    5. @import之中可以继续引用其他样式,也就是css里面继续引用其他样式
    • 介绍一下你对浏览器内核的理解?

    浏览器内核,就是用来解释网页语法并且渲染网页的。所以一般的浏览器的内核就是渲染引擎。

    • 常见的浏览器内核有哪些

    Trident -> IE
    Gecko -> Firefox
    WebKit->Safari
    Presto->Oprea

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

    HTML5有哪些特性、移除了哪些元素?
    新增有绘画canvas,用于媒介回放的audio,video还有本地离线存储localStorage 长期存储数据,浏览器关闭之后数据不会丢失。
    内容元素,article、footer、header、nav、section
    表单控件,canlendar、date、timer、email、url、search
    控件元素,webworker,websockt,Geolocation
    移出的元素
    显示层元素:basefont,big,center,font,s,strike,tt,u
    性能较差的元素:frame,frameeset,noframes


    • 简述一下你对HTML语义化的理解?

    用正确的标签做正确的事、
    HTML语义化 让页面内容结构化,结构更加的清晰,便于对浏览器,搜索引擎解析;即使在没有css样式的情况下也能够以一种文档的样式来显示,并且是容易阅读的,搜索引擎的爬虫也是依赖HTML标记来确定上下文以及各个关键字的权重的,有利于seo,使阅读源代码的人跟容易 将网站分块,便于阅读和理解。


    • HTML5的离线储存怎么使用,工作原理能不能解释一下?

    在用户没有与因特网连接的时候,可以正常访问站点或者应用,在用户与因特尔网连接的时候,就更新机器上面的缓存。
    原理就是: HTML5的离线缓存是基于一个新建的.appcatche文件的缓存机制(不是存储技术),通过这个文件的解析清单离线存储资源,那么这些资源就会像cookie一样被存储下来,浏览器会通过被离线存储的数据进行页面展示。


    • 浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
      加载

    页面头部像下面那样加入一个manifest的属性:

    HTML5的离线储存_-_kan_kan_-_博客园.png

    而在 catche.manifest文件中编写离线存储资源

    CACHE MANIFEST
    
            #v0.11
            CACHE:
            js/app.js
            css/style.css
            NETWORK:
            resourse/logo.png
            FALLBACK:
            / /offline.html
    
    >  离线状态时,操作window.applicationCatche进行实现
    **解析**
     - 在线的情况下,浏览器发现html头部有manifest属性,它会请求mainifet文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。如果已经访问过得app已经被加载过了也被离线过了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比行的manifest 与旧的manifest对比,如果文件改变那么浏览器将会离线新的文件,跟新离线存储的资源。
    >但是在离线的情况下,浏览器就会直接使用离线存储资源。
    >
    >- 对于mainest 文件进行缓存的时候十分小心,因为可能出现一种情况就是mainfest已经更新了,但是http缓存还有原来的旧的mainfest  而且没有过期,那么就会有问题,所以最好不要设置mainfest缓存。
    >
    >- 浏览器更新mainfest的时候是一次性的下载的,如果下载失败,那么浏览器使用的还是原来的mainfest,这次更新算是失败的。
    > - 在更新资源之后,新的资源需要下次打开app才会生效,如果过需要资源马上加载就能生效```windoq.applicarionCathe.SwapCatche()```方法来使之生效,出现这种原因是因为浏览器先用离线资源加载页面,然后再去检查manifest是否有更新,所以需要下次打开才生效。
    
    那么说了这么多关于html5存储的东西,大家能够分清楚cookies,sessonStorage和localStorage的区别吗?? 欲知后事如何,且听下回分解,pia~~~~
    
    

    相关文章

      网友评论

          本文标题:我要当FE Developer--面试题章--HTML篇1

          本文链接:https://www.haomeiwen.com/subject/dgmvettx.html