前端实习生面试题——HTML

什么是浏览器内核,常用的浏览器的内核有哪些?

  • 简单来说浏览器可以分为两部分,shell+内核。其中shell的种类相对比较多,内核则比较少。Shell是指浏览器的外壳:例如菜单,工具栏 等。主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。内核才是浏览器的核心。内核是基于标记语言显示内容的程序或模块。也有一些 浏览器并不区分外壳和内核。从Mozilla将Gecko独立出来后,才有了外壳和内核的明确划分。目前主流的浏览器有IE、Mozilla、FireFox、Opera、Safari、Chrome等。

  • 浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至 显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内 容的应用程序都需要内核。JS引擎则是解析Javascript语言,执行javascript语言来实现网页的动态效果。最开始渲染引 擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个ACID来测试引擎的兼容性和性 能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有10多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、 Presto、Webkit。

    • Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称MSHTML]

    • Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等

    • Presto内核:Opera7及以上。 [Opera内核原为:Presto,现为:Blink;]

    • Webkit内核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]

行内元素和块级元素有哪些?

  • 首先:CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,如div的display默认值为“block”,则为“块级”元素;span默认display属性值为“inline”,是“行内”元素。

  • 区别:

    • (1)块级元素会独占一行,其宽度自动填满其父元素宽度 ;行内元素不会独占一行,相邻的行内元素会排列在同一行里,知道一行排不下,才会换行,其宽度随元素的内容而变化。

    • (2)块级元素可以设置 width, height属性,行内元素设置width, height无效 【注意:块级元素即使设置了宽度,仍然是独占一行的】

    • (3)块级元素可以设置margin 和 padding. 行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)

  • 常见的行内元素以及块级元素可以参考 这儿

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

  • 用正确的标签做正确的事情。

  • html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;

  • 即使在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的;

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

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

什么是SEO

  • 搜索引擎优化, 是以网页为载体,在不影响用户体验的前提下最大化让网站符合搜索引擎的排名规则的所有手段集合。

  • 常用的SEO方法:

    • 1、TDK规则(合理设置html的head中的title、description、keywords)

    • 2、描述性的标签加上title属性

    • 3、每个页面都需要有个h1标签,合理使用h2-h6标签

    • 4、页面进行服务端渲染,不要使用js渲染页面(搜索引擎不会执行js)

    • 5、页面中合理地进行关键词植入

你能描述一下渐进增强和优雅降级之间的不同吗?

  • 渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

  • 优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

请描述一下cookies,sessionStorage和localStorage的区别?

  • cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递。

  • sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。

  • 存储大小:

    • cookie数据大小不能超过4k。

    • sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

  • 有期时间:

    • localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;

    • sessionStorage 数据在当前浏览器窗口关闭后自动删除。

    • cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

什么利用多个域名来存储网站资源会更有效?

  • CDN缓存更方便

  • 突破浏览器并发限制

  • 节约cookie带宽

  • 节约主域名的连接数,优化页面响应速度

  • 防止不必要的安全问题

页面优化的方法

  • 雅虎35条

  • 重点:

    • (1)尽量减少HTTP请求次数

    • (2) 减少DNS查找次数

    • (3) 减少DOM元素数量

    • (4) 为文件头指定Expires或Cache-Control

    • (5) Gzip压缩文件内容

    • (6) 把样式表置于顶部、 把脚本置于页面底部

    • (7) 避免使用CSS表达式(Expression)

    • (8) 使用外部JavaScript和CSS

    • (9) 减少DOM访问

从地址栏输入URL到页面加载完成发生了什么?

  • 对于网址栏的URL不同的操作方式有不同的加载资源、获取数据的方式,下面的详细过程针对"在地址栏输入URL,按enter(回车)键加载资源"此种操作方式做解析,其它的方式的过程大同小异,差异会在后面再做分析。

    • (1)浏览器开启一个线程来处理这个请求,对URL判断如果是http协议就按照web方式处理;

    • (2)浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容(此时没有向服务端发请求)。若没有,则进行下一步操作(后面需要向服务端发送请求);

    • (3)通过DNS解析获取网址的IP地址;

    • (4)向真实IP地址服务器发起tcp连接,与浏览器建立tcp三次握手。

    • (5)握手成功后,进行HTTP协议会话,浏览器发送报头(请求报头);

    • (6)进入到web服务器上的 Web Server,如 Apache、Tomcat、Node.JS 等服务器;

    • (7)进入部署好的后端应用,如 PHP、Java、JavaScript、Python 等,找到对应的请求处理;

    • (8)处理结束回馈报头,将数据返回至浏览器;

    • (9)浏览器开始下载html文档(响应报头,状态码200),同时设置缓存;

    • (10)之后浏览器对整个 HTML 结构进行解析,形成 DOM 树;与此同时,它还需要对相应的 CSS 文件进行解析,形成 CSS 树(CSSOM)。

  • 接下来,需要结合 DOM + CSSOM,形成一个绘制树(Render Tree);

    • (11)得到绘制树之后,需要计算每个结点在页面中的位置,这一个过程称为layout ;

    • (12)layout的过程是在一个连续的二维平面上进行的,接下来,需要将这些结果栅格化,映射到屏幕的离散二维平面上,这一过程称为 paint ; 现代浏览器为提升性能,将页面划分多个 layer,各自进行 paint 然后组合成一个页面(composite layers)。

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

推荐阅读更多精彩内容