首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

96道前端面试题+前端常用算法「建议收藏」

字节 一面: 1,说一下浏览器缓存 2,cookie session 的区别 3,浏览器如何做到 session 的功能的。...严格模式混杂模式如何区分?它们有何意义? 51,你知道多少种Doctype文档类型? 52,HTMLXHTML——二者有什么区别 53,常见兼容性问题? 54,解释下浮动和它的工作原理?...如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 59,如何实现浏览器内多个标签页之间的通信? 60,什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?...69,一个页面从输入 URL到页面加载显示完成,这个过程中都发生了什么?...79,事件、IE火狐的事件机制有什么区别? 如何阻止冒泡? 80,ajax的缺点和在IE下的问题?

67710

JS相关概念

因为在加载 JavaScript时会阻止其他内容的下载,要等到JS文件下载解析完之后才会显示网页内容。若JS文件很大放在前面就会导致加载时间较长,网页会一直白屏。...2.为何出现白屏问题FOUC无样式内容闪烁? 不同的浏览器对于CSS和HTML的处理方式不同,有的是等待CSS加载完成之后,对HTML元素进行渲染和展示(白屏问题)。...使用 @import 标签, 即使 CSS 放入 link, 并且放在头部,也可能出现白屏 把 JavaScript 放入页面顶部也会导致白屏现象,在加载 JavaScript 时,会禁用并发,并且阻止其他内容的下载...对于 Firefox 会一直表现出 FOUC 。 总结:白屏问题FOUC无样式内容闪烁只能二选一,不可避免。 3、async和defer的作用是什么?有什么区别 1....async 则是一个乱序执行的主,反正对它来说脚本的加载和执行是紧紧挨着的,所以不管你声明的顺序如何,只要它加载完了就会立刻执行。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

浏览器工作原理分析首屏加载

期间我们将要分析浏览器并行、串行执行了那些操作,以及根据这些操作我们能够如何优化首屏的加载。 2. 浏览器内部发生了什么?...图中箭头表示调用相关模块的接口关系,箭头指向表示调用该模块 用户界面:定义了一些常用的浏览器组件,比如地址栏,返回、书签等等 数据持久化:指浏览器的cookie、local storage等组件...V8有什么关系?.../main1.js"> 上述代码是最普通也是最简单的一个HTML模板页面,也遵循了样式表置于head、脚本置于底端这些基本准则,下面我们来分析一下浏览器如何按时间一步一步的加载出这个页面...web browsers 浏览器的工作原理:新式网络浏览器幕后揭秘 WebKit内核分析 白屏问题FOUC无样式内容闪烁/加载异步

1.7K100

几个前端工程师应当掌握的“词语”

W3C是WEB技术领域,国际中立性技术标准机构。主要工作是发展WEB规范。 ? BFC 什么是BFC BFC是Block formatting context的缩写,表示的是“块级格式化上下文”。...设置BFC的元素/盒子,是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局(该区域外部无关)。...它用来决定:其子元素将如何定位,以及和其他元素的关系和相互作用。...属于同一个BFC的两个相邻Box的margin会发生重叠; ● BFC容器里面的子元素不会影响到外面的元素; ● 设置BFC的元素的内部元素,会在垂直方向一个接一个地放置; ● 每个设置BFC的元素的左侧...FOUC 什么是FOUC FOUC是Flash Of Unstyled Content的缩写,指的是加载网页时出现的短暂的CSS样式失效。

91960

面试官:DTD 有什么作用?

多媒体:使 video 和 audio 成为了在所有 Web 中的一等公民。 2D/3D 绘图 & 效果:提供了一个更加分化范围的呈现选择。...2.有利于不同设备的解析(屏幕阅读器,盲人阅读器等)满是div的页面这些设备如何区分那些是主要内容优先阅读? 3.有利于构建清晰的机构,有利于团队的开发、维护。...FOUC 有的是先对 HTML 元素进行展示,然后等待 CSS 加载完成之后重新对样式进行修改(无样式内容闪烁) 如何解决FOUC问题 尽量把 js 文件放在 标签后面引入,执行。...什么是回流(影响布局的情况) 浏览器发现某个部分发生了点变化影响了布局,需要倒回去重新渲染,这个过程就是回流 什么是重绘(不影响布局的情况) 改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性时...如果将 js 放在 head 里面,则会先被浏览器解析,但是这时的 body 还没被解析,如果这个时候,浏览器解析到 js 出现错误,就会阻止后续的渲染。 例外的话?

94710

Web性能优化:不要与浏览器预加载扫描器对抗

图1:浏览器的主要HTML解析器如何被阻塞的图示。在这种情况下,解析器遇到了一个外部CSS文件的元素,它阻止了浏览器解析文档的其余部分,甚至是渲染任何文档,直到CSS被下载和解析。...在CSS文件的情况下,解析和渲染都被阻止,以防止出现无样式内容的闪光(FOUC),即在样式被应用到一个页面之前,可以短暂地看到一个无样式的版本。 图2:FOUC的一个模拟例子。...左边是没有样式的web.dev的首页。右边是应用了样式的同一页面。如果浏览器在下载和处理样式表的时候没有阻止渲染,那么无样式的状态就会在瞬间发生。...图3:描述预加载扫描器如何主HTML解析器并行工作以推测性地加载资源的图。...此外,服务器发送相同数量的标记相比,在客户端呈现大量标记更有可能生成较长的任务。

5.3K151

2020 年「我技术面试那些事儿」

首先上来就是给一个思维导图分享: 思维导图 微信Web开发者工具 小程序开发环境,相关工具 小程序组件 小程序/小游戏 开发接口 开发接口...使用云开发可以快速构建完整的小程序/小游戏、H5、Web、移动 App 等应用。...(使结构,样式,行为分离,内容能够被更多的设备访问,代码简洁,开发组件化,代码易维护,可复用等)。 2.HTML是一种基于web网页的设计语言;XHTML是一种基于XML,语法严格,标准的设计语言。...3.每次写浮动元素,会引起父元素的高度无法被撑开,影响父元素同级的元素;元素同级的非浮动元素会紧随其后,会类似于遮盖现象,这里注意如果一个元素浮动,那它前面的元素也是需要浮动的,不然会影响页面显示的结构...13.有人问FOUC是啥?如何避免FOUC

1.2K20

【云+社区年度征文】全年的技术盘点与总结(含小程序开发)

但是这也让我和云+社区一起共同努力,在工作中,完成了目标项目、攻克了技术难关、学习了新的技术,也感谢腾讯云+社区的平台!...使用云开发可以快速构建完整的小程序/小游戏、H5、Web、移动 App 等应用。 ...(使结构,样式,行为分离,内容能够被更多的设备访问,代码简洁,开发组件化,代码易维护,可复用等)。 2.HTML是一种基于web网页的设计语言;XHTML是一种基于XML,语法严格,标准的设计语言。...3.每次写浮动元素,会引起父元素的高度无法被撑开,影响父元素同级的元素;元素同级的非浮动元素会紧随其后,会类似于遮盖现象,这里注意如果一个元素浮动,那它前面的元素也是需要浮动的,不然会影响页面显示的结构...13.有人问FOUC是啥?如何避免FOUC

1.7K341

从0开始构建一个Oauth2Server服务 Native App 使用OAuth

基于浏览器的应用程序一样,本机应用程序不能使用客户端机密,因为这将要求开发人员在应用程序的二进制分发中传送机密。事实证明,反编译和提取秘密相对容易。...外部用户代理通常是设备的本机浏览器(具有本机应用程序不同的安全域),因此应用程序无法访问 cookie 存储或检查或修改浏览器内的页面内容。...如果您想帮助防止应用程序开发人员使用自定义方案发生冲突,您应该建议(甚至强制)他们使用一种方案,该方案是他们控制的域的反向域名模式。...登记 服务器端应用程序一样,本机应用程序还必须向授权服务器注册其重定向 URL。...请注意,PKCE 不会阻止应用程序模拟,它只会阻止授权代码被不同于启动流程的应用程序使用。

15530

Vue相关的前端面试题,每道题都很经典~

④:如何阻止Vue中的绑定事件不发生冒泡 ⑤:父、子组件间是如何通信的? ⑥:非父子层级的组件如何实现通信? ⑦:什么是动态组件?他的作用是什么?...React的区别: ●组件的响应式渲染 React的组件的数据状态发生变化时,它会以该组件为根,重新渲染整个组件子树;而Vue不只去渲染需要渲染的组件。...●HTML+CSS的编写 React使用的JSX语法,将HTML、CSS和JS混写;而Vue使用的是templates模板方式,完全融合经典的Web技术。...Q 如何阻止Vue中的绑定事件不发生冒泡 可以使用“事件修饰符”来处理事件冒泡,如:v-on:click.stop阻止事件冒泡 或v-on:submit.prevent阻止默认事件。...父组件通过Props向子组件传递数据,而子组件通过Events向父组件传递数据。 ? 来自vue官网 Q 非父子层级的组件如何实现通信?

11K30

Web Application核心防御机制记要

这些安全机制由以下几个方面组成: 1、处理用户访问web应用程序的数据功能(防止未授权访问) 2、处理用户对web应用程序功能输入的数据(防止构造恶意数据) 3、应对攻击(处理预料外的报错、自动阻止明显的攻击...这里的边界不在局限于因特网web应用程序之间的边界,web应用程序的每个组件或功能单元都有边界。如此,每个组件都可以防御它收到的特殊类型的专门设计的输入。...当数据通过不同的组件,即可对前面生成的数据执行确认检查,而且由于不同的处理阶段执行不同的确认检查,它们之间不可能发生冲突。 例如下图: ?...应对攻击 以上我们已经尽可能的阻止了攻击者的入侵,但是没有一个绝对安全的系统,若发生安全事件web应用程序应当如何应对攻击呢,处理措施一般为以下几条: 1、处理预料外的报错 2、自动阻止明显的攻击 3、...错误处理机制通常与日志机制整合在一起。 应对攻击 很多攻击都会发送大量的常见恶意字符,遇到这类情况应用程序应采取自动反应措施阻止攻击者的探查。

93010

Web前端性能优化教程03:网站样式和脚本&减少DNS查找、避免重定向

最佳做法 放置脚本的最好地方是页面的底部,这不会阻止页面内容的呈现,而且页面的可视化组件可以尽早下载。...综合来讲,我们一般推荐使用外置的js和css,不过这也要根据自身web的访问场景以及PV做出最优选择。 如何划分组件?...最佳实践 当客户端的DNS缓存为空时,DNS查找的数量Web页面中唯一主机名的数量相等。所以减少唯一主机名的数量就可以减少DNS查找的数量。...重定向如何损伤性能? 当页面发生了重定向,就会延迟整个HTML文档的传输。在HTML文档到达之前,页面中不会呈现任何东西,也没有任何组件会被下载。.../web/2013/1212/330808.shtml 再谈Canonical标签:301有何区别?

3.1K130

怎么都爱问网络协议!| 极客时间

有兴趣的可以翻翻八年前的这位顶尖架构师的旧文,他把整个过程拆成了六个问题: 从输入 URL 到浏览器接收的过程中发生了什么事情? 浏览器如何向网卡发送数据? 数据如何本机网卡发送到服务器?...,系统地将 Web 协议转化为我们头脑中的结构体知识,就可以对我们学习前后端开发框架、面向连接的编程语言、各种分布式组件、架构设计、微服务编程等都起到事半功倍的效果。...相信陶辉来讲 Web 协议详解抓包实战,一定会带给你不一样的收获。为什么这么说?...在《Web 协议详解抓包实战》视频课中,陶辉老师会把自己十几年积累的第一手经验毫无保留地分享给大家。 你能获得什么? 陶辉老师会跟你一起从应用层到底层,通过具体问题和场景来学习 Web 协议。...熟悉 Web 协议的架构和设计原则 HTTP 最初用于解决人机器的通讯,了解指导其设计原则的 REST 架构,就能理解在空间上它如何应对全球性的巨型分布式网络,在时间上如何应对数十年的技术变迁。

31510

.NET混合开发解决方案4 WebView2的线程模型

所有回调都发生在该线程上,对WebView2的请求必须在该线程上完成。从另一个线程使用WebView2是不安全的。...下面以真实项目案例(建筑工程施工图BIM人工智能审查系统)讲解WbView2控件如何实现网页、宿主程序之间进行线程安全的互相通讯。...(2)单击模型节点创建Tab页,页签中使用WebView2组件加载网页,渲染智能审查结果。...C#语言中的延迟   在 C# 中使用 Deferral 时,最佳做法是将其using块一起使用。 即使在using块中间引发异常,该using块也可确保Deferral已完成。 ...例如,不要执行以下操作,因为如果在调用 Complete之前出现异常, WebResourceRequested 则事件不会被视为“已处理”,并阻止 WebView2 呈现该 Web 内容。

3.1K30

24 事件绑定、事件修饰符事件三阶段

>阻止事件的默认行为 运行效果: ? 在这个示例中,当单击发生在内部的灰色区域上时,如果加了stop,只响应外部的监听;只有去掉stop,单击内部才有两个响应。...,不是发生在包含它的父级上,是正好发生在它的身上,事件派发函数执行。...passive要求使用组件的默认滚动行为,所以阻止默认行为的prevent修饰符就不能同时使用。prevent 是拦截默认事件,passive是不拦截默认事件。...15 v-if 条件渲染 v-for 列表渲染 16 处理表单数据父子组件之间的数据交换 17 vue 组件化基础 18 vue 实例及其双向绑定的实现原理 19 vue 模板语法及简要实现原理 20...vue计算属性和侦听器 21 vue 组件中 Class 的绑定 22 内联样式的绑定 23 列表渲染“就地复用”原则 24 事件绑定、事件修饰符事件三阶

1.3K10

分布式通信的几种方式(EJB、RMI、RPC、JMS、web service杂谈)

,不用自己编写底层通信本机会通过网络向服务器发送请求,服务器对象接受参数后,经过处理再把处理后的结果发送回客户端。...Web serviceEJB 对这两个常常有点迷惑人,因为他们都实现了分布式应用调用,虽然他们很相似但是还是有很多区别的,首先通信协议是不一样的,ejb采用rmi-iiop协议,Web service...Webservice主要关注于解决异构系统、不同语言系统通信,其关注的是分布式服务开发、着手点要高、站的角度高,而ejb可以看做是分布式编程平台,通过容器和组件,简化了程序开发、调试和部署等它关注的是分布式组件开发...ejb底层用rmi-iiop协议进行通信,防火墙会阻止web service是基于http协议进行通信,防火墙不会阻止。...SOAWeb Service SOA是面向服务体系架构,是一种编程思想,SOA不是Web Service,WebService是目前最适合实现SOA的技术。

2.1K80

揭秘浏览器资源关键词助你轻松获取宝贵浏览资源 |技术创作特训营第一期

每个 DOM 节点都有许多可以用来访问和更改它的函数,用户看到的内容也会相应地发生变化。...看上去 JavaScript 会阻止解析,是因为它可以修改文档。那么 CSS 不能修改文档,所以它似乎没有理由阻止解析,对吧? 但是,如果脚本中需要获取一些尚未解析的样式信息怎么办?...图片 (这种糟糕的用户体验有一个名字,叫做“无样式内容闪现”,Flash of Unstyled Content,或者简称 FOUC ) 为了解决这些问题,所以我们需要尽快的交付 CSS。...async 表示加载和渲染后续文档元素的过程将和 script.js 的加载执行并行进行(异步)。...建议在诸如 Web 字体、CDN 之类的东西上使用它。 <!

26742

高性能网站建设指南-前端性能优化(二)

本文链接:https://ligang.blog.csdn.net/article/details/63259552 规则5:压缩组件 ​ 压缩组件可以使响应包变小,缩短传输时间。...上述阐述的方式对于浏览器和服务器直接通信会工作的很好,当浏览器通过代理发送过来请求时,情况就复杂了,综述一下具体请查看:Vary、mod_gzip 网站用户少或注重带宽开销:Vary: Accept-Encoding Web...否则,在其准备好之前显示内容会遇到FOUC(无样式内容的闪烁 Flash of Unstyled Content)问题。 ​ 白屏是浏览器对FOUC问题的补充。...并行下载 ​ 对响应时间影响最大的是页面中组件的数量。HTTP1.1的RFC2616中建议单用户客户端不应该任何服务器或代理保持超过2个连接,RFC7230中取消了该限制。...因此将脚本放到页面顶部不仅会阻塞对其后面内容的呈现,而且还会阻塞后续组件的下载。

2K21
领券