撩课-Web大前端每天5道面试题-Day3

1. 请描述下JS中事件冒泡机制?

冒泡型事件:事件按照从最特定的
事件目标到最不特定的事件目标
(document对象)的顺序触发。

捕获型事件:事件从最不精确的对
象(document 对象)开始触发,然后
到最精确。(也可以在窗口级别捕获
事件,不过必须由开发人员特别指定)。

支持W3C标准的浏览器在添加事件时
用addEventListener(event,fn,useCapture)方法,
基中第3个参数useCapture是一个Boolean值,
用来设置事件是在事件捕获时执行,
还是事件冒泡时执行。

而不兼容W3C的浏览器(IE)用attachEvent()方法,
此方法没有相关设置,
不过IE的事件模型默认是在事件冒泡时执行的,
也就是在useCapture等于false的时候执行,
所以把在处理事件时把useCapture
设置为false是比较安全,
也实现兼容浏览器的效果。

如下图所示:

image

2. 为什么利用多个域名来提供网站资源会更有效?

1.CDN缓存更方便

2.突破浏览器并发限制
(一般每个域名建立的链接不超过6个)

3.Cookieless,节省带宽,
尤其是上行带宽一般比下行要慢;

4.对于UGC的内容和主站隔离,
防止不必要的安全问题
(上传js窃取主站cookie之类的)。
正是这个原因要求用户内容的域名
必须不是自己主站的子域名,
而是一个完全独立的第三方域名。

5.数据做了划分,
甚至切到了不同的物理集群,
通过子域名来分流比较省事。

补充: 关于Cookie的问题,
带宽是次要的,安全隔离才是主要的。
关于多域名,也不是越多越好,
虽然服务器端可以做泛解释,
浏览器做dns解释也是耗时间的,
而且太多域名,如果要走https的话,
还有要多买证书和部署的问题。

3. 请说出三种减少页面加载时间的方法?

1.优化图片;
精灵图片, 字体图标
SVG, GIF, WEBP
(可用在一些对颜色要求不高的地方)

2. 优化CSS
(压缩合并css,
如margin-top,margin-left...)

3. 网址后加斜杠
(如www.itlike.com/目录,
会判断这个“目录是什么文件类型,
或者是目录。)

4. 标签标明高度和宽度
(如果浏览器没有找到这两个参数,
它需要一边下载图片一边计算大小,
如果图片很多,
浏览器需要不断地调整页面。
这不但影响速度,也影响浏览体验。
当浏览器知道了高度和宽度参数后,
即使图片暂时无法显示,
页面上也会腾出图片的空位,
然后继续加载后面的内容。
从而加载时间快了,
浏览体验也更好了。)

6.减少http请求
(合并文件,合并图片)。

4. cookie 和session 的区别?

1. cookie数据存放在客户的浏览器上,
session数据放在服务器上。

2. cookie不是很安全,
别人可以分析存放在本地的COOKIE,
并进行COOKIE欺骗,
考虑到安全应当使用session。

3. session会在一定时间内保存在服务器上。
当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,
应当使用COOKIE。

4. 单个cookie保存的数据不能超过4K,
很多浏览器都限制一个站点最多保存20个cookie。

5. 开发建议:将登录,用户等重要信息存放为session,
其他信息如果需要保留,可以放在cookie中。

PS: 额外阅读

应用场景

经常登录一个网站,
今天输入用户名密码登录了,
第二天再打开很多情况下就直接打开了
。这个时候用到的一个机制就是cookie。

session的一个场景是购物车,
添加了商品之后客户端处
可以知道添加了哪些商品,
而服务器端如何判别呢,
所以也需要存储一些信息,
这里就用到了session。

Cookie
Cookie是访问某些网站以后
在本地存储的一些网站相关的信息,
下次再访问的时候减少一些步骤。

另外一个更准确的说法是:
Cookies是服务器在本地机器上
存储的小段文本并随每一个请求
发送至同一个服务器,
是一种在客户端保持状态的方案。

Cookie的主要内容包括:
名字,值,过期时间,路径和域。

Session

Session是存在服务器的
一种用来存放用户数据的类
HashTable结构。

当浏览器 第一次发送请求时,
服务器自动生成了一个HashTable
和一个Session ID用来唯一标识这个HashTable,
并将其通过响应发送到浏览器。

当浏览器第二次发送请求,
会将前一次服务器响应中的Session ID
放在请求中一并发送到服务器上,
服务器从请求中提取出Session ID,
并和保存的所有Session ID进行对比,
找到这个用户对应的HashTable。

一般这个值会有一个时间限制,
超时后毁掉这个值,默认是20分钟。

Session的实现方式和Cookie有一定关系。
试想一下,建立一个连接就生成一个session id,
那么打开几个页面就好几个了,
这显然不是我们想要的,

那么该怎么区分呢?

这里就用到了Cookie,
我们可以把session id存在Cookie中,
然后每次访问的时候将
Session id带过去就可以识别了

5. 为什么要清除浮动?举个实际场景?

父元素的高度是由子元素撑开的,
且子元素设置了浮动,
父元素没有设置浮动,
子元素脱离了标准的文档流,
那么父元素的高度会将其忽略,
如果不清除浮动,
父元素会出现高度不够,
那样如果设置border
或者background都得不到正确的解析。

方式:

.clearfix:after,.clearfix:before{
   content:"";
   display:table;
   clear:both;
}

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

推荐阅读更多精彩内容

  • 白天为了生存,黑夜为了爱。
    Xxxxss6阅读 163评论 0 0
  • 四月的中旬天开始热起来,而前几天则像是过冬一样,穿着毛衣。在六楼的宿舍现在已经明显的有了暑气,都能想象大家以西瓜...
    黑猫与牛奶阅读 118评论 0 0
  • 后台管理是项目中必备的一个部分,而登陆部分更是重中之重,我们要为安全登陆做各种必要的保障 技术要求 ① 前端空...
    Snailwang04阅读 2,072评论 0 9