前端面试题
天下一场夢
打破幻想和实现目标的最好途径就是多去尝试。
展开
-
如何维持前端页面中内嵌iframe的登录态
总之,关键在于合理地管理和共享用户的身份验证信息,同时确保安全性。注意在实际应用中,应根据安全策略和隐私政策谨慎处理敏感信息,遵循最小权限原则。原创 2024-04-03 17:25:38 · 847 阅读 · 0 评论 -
浏览器cookie、localStorage、sessionStorage生命周期
浏览器中的三种主要客户端存储机制——Cookie、localStorage 和 sessionStorage ——各有不同的生命周期:Cookie:localStorage:sessionStorage:总结:原创 2024-04-01 09:44:58 · 332 阅读 · 0 评论 -
【前端面试题-21】简单说一下 前端工程化上有哪些优化
总之,前端工程化通过一系列的工具、技术和最佳实践,从构建、资源管理、代码质量、性能监控到自动化流程等全方位提升前端项目的开发效率、运行性能和可维护性。原创 2024-03-29 16:12:07 · 314 阅读 · 0 评论 -
【前端面试题-20】js如何对输出内容进行HTML编码
在JavaScript中,对输出内容进行HTML编码通常是为了防止XSS攻击(跨站脚本攻击),即将特殊字符转换成HTML实体的形式,避免它们被浏览器解析为HTML或JavaScript代码。以下是一些常见的HTML编码方法:虽然这两个函数主要用于编码URI组件而不是HTML内容,但在某些场景下也可以用来对HTML内容中的特殊字符进行编码,特别是对于属性值,推荐使用:使用自定义函数或库为了对HTML内容进行全面的HTML实体编码,可以编写一个简单的函数,或者利用现成库的功能,例如:使用库(例如 jQue原创 2024-03-29 10:59:40 · 216 阅读 · 0 评论 -
【前端面试题-19】简单说一下,如果前端页面要做个页面加载进度条,该通过哪些实现进度上的把控
总结来说,实现页面加载进度条的核心在于获取到加载进度的数据,并通过JavaScript实时更新进度条元素的宽度。对于局部加载或异步操作的进度,则可以直接通过特定API获得确切的进度数据。对于整个页面加载进度,由于浏览器本身并不直接提供页面资源加载进度的具体数据,因此模拟整个页面加载进度较为复杂,一般依赖于监听DOMContentLoaded、load事件以及可能的异步资源加载情况(如图片、脚本、Ajax请求等)。对于整体页面加载进度的模拟,可能需要借助第三方库,如上面提到的。原创 2024-03-29 09:16:25 · 459 阅读 · 0 评论 -
【前端面试题-18】简单说一下主流前端项目的前端安全方面的优化有哪些
综上所述,前端项目安全优化涉及多个层面,需要综合运用各种技术和策略,全方位提升系统的安全性。原创 2024-03-28 17:08:59 · 237 阅读 · 0 评论 -
【前端面试题-17】简单说一下js的原型链
方法访问),它指向该对象的原型对象。当试图访问一个对象的属性时,如果该对象自身不存在该属性,JavaScript 引擎会向上搜索其原型对象,如果原型对象存在该属性,则返回该属性的值。这个搜索过程会沿着原型链逐级向上,直至找到该属性或者到达原型链的顶端(即。JavaScript 的原型链(Prototype Chain)是其面向对象特性中的一个重要概念,用于实现对象间的继承和属性查找机制。链接起来的一系列对象,形成了一种继承关系,使得对象可以共享和继承属性和方法。,表示原型链的终点)。上找到该方法并执行。原创 2024-03-28 15:48:51 · 357 阅读 · 0 评论 -
【前端面试题-16】简单说一下js的闭包和内存泄漏
闭包本身并不直接导致内存泄漏,但如果闭包造成了对外部资源(如变量、DOM元素等)的长期引用,而这些资源在逻辑上已经不再需要,那么就会阻止这些资源的内存被垃圾回收机制自动回收,从而形成内存泄漏。:比如在一个DOM元素上绑定了事件处理函数,而这个处理函数是一个闭包,它引用了其他的DOM元素或大对象,即便DOM元素卸载了,但由于闭包的引用关系,相关的内存无法被回收。:闭包内部持续引用了外部对象,在循环调用或其他长期运行的过程中,即使这些对象已经不再使用,由于闭包的存在,它们仍会被保留在内存中。原创 2024-03-28 11:00:38 · 272 阅读 · 0 评论 -
【前端面试题-15】简单说一下http三次握手和四次挥手
总结起来,三次握手是为了保证双方都能正确无误地建立连接,而四次挥手则是为了确保双方都能有序、可靠地关闭连接,防止数据丢失。原创 2024-03-28 10:55:39 · 278 阅读 · 0 评论 -
【前端面试题-14】vue3与vue2 的虚拟DOM对比
综上所述,Vue3在虚拟DOM层面上做出了显著的性能优化和功能增强,使得Vue应用在构建大型项目时具有更高的性能和更低的内存消耗。同时,Vue3还通过Composition API等方式让开发者对虚拟DOM的控制更为精细和直观。原创 2024-03-28 10:51:54 · 402 阅读 · 0 评论 -
【前端面试题-13】简单说一下vue2的diff算法
Vue2的Diff算法是用来高效地计算出Virtual DOM(虚拟DOM)变化并应用到实际DOM的一种策略。Vue2采用了基于Snabbdom改进的O(n)复杂度的Diff算法,确保在组件状态改变时能够最小化对真实DOM的操作。通过这样的算法,Vue可以在状态变更后迅速定位到哪些部分的真实DOM需要更新,从而实现高效的UI更新,减少不必要的DOM操作和重绘重排。原创 2024-03-28 10:43:11 · 289 阅读 · 0 评论 -
【前端面试题-13】目前主流的几种图片格式以及特性和使用场景
总结起来,每种图片格式都有其特定的优势和适用场合,选择哪种格式取决于图像内容、质量和存储需求。原创 2024-03-28 09:27:09 · 519 阅读 · 0 评论 -
【前端面试题-12】简单说一下浏览器的缓存策略有哪些
浏览器缓存策略的目的是减少不必要的网络请求,提高页面加载速度和用户体验。检查本地缓存是否有符合要求的强缓存,若有则直接使用。若强缓存失效,则发起请求至服务器,询问资源是否发生变更(协商缓存)。如果协商缓存命中,服务器指示浏览器继续使用本地缓存;否则,服务器发送最新资源给浏览器并更新缓存。此外,还有Service Worker、内存缓存(memory cache)和HTTP缓存头(如Pragma、Vary等)等其他缓存手段,共同构成了浏览器全面且高效的缓存策略体系。原创 2024-03-28 09:19:15 · 396 阅读 · 0 评论 -
【前端面试题-11】简单说一下vue2的缓存策略
另外,Vue2 中的缓存策略也可能涉及到更深层次的数据缓存,例如使用 Vuex 状态管理器存储共享状态,或者在服务端渲染(SSR)场景下,利用缓存策略优化 API 数据的获取和渲染性能。或其他需要缓存的组件,这样在路由切换时,被包裹的组件实例不会被销毁,而是进入休眠状态,当再次激活时直接唤醒,而不是重新创建新的实例。Vue2 中的缓存策略主要体现在对组件实例的复用上,特别是当页面需要频繁切换但希望保持组件状态的情况下。的路由视图时,其组件的状态将会得到保留。提供了一种内置的组件缓存机制,即。原创 2024-03-28 09:11:29 · 147 阅读 · 0 评论 -
【前端面试题-10】简单说一下OSI模型各层
实际上,在实际应用中,尤其是TCP/IP协议栈中,并未严格遵循OSI模型的所有层次,而是将其进行了简化整合。不过,OSI模型作为一个理论框架,对于理解网络体系结构和不同层次的通信功能具有重要意义。Model)是由国际标准化组织(ISO)制定的一种概念性的框架,它将网络通信的过程分解为七个逻辑层,每一层都有明确的职责,通过相互协作共同完成网络数据的传输任务。OSI模型(Open Systems Interconnection。原创 2024-03-28 09:05:37 · 341 阅读 · 0 评论 -
【前端面试题-09】简单说一下网络模型和作用
网络模型是对计算机网络结构和功能的一种抽象描述,它把复杂的网络通信过程划分为多个逻辑层次,每个层次负责特定的功能,并规定了该层次内的通信规则和协议标准。这种分层设计使得网络通信能够模块化和标准化,有助于简化网络的设计、实施和维护,并促进不同厂商设备间的互操作性。TCP/IP模型是互联网架构的实际基础,主要包括四个层次:网络接口层、网络层、传输层和应用层。OSI模型由国际标准化组织(ISO)提出,共分为七层,自下至上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。原创 2024-03-28 08:59:28 · 474 阅读 · 0 评论 -
【前端面试题-08】简单说一下 http和https的区别,再说一下https是如何加密的
通过这种方式,即使数据在传输过程中被截获,攻击者也无法直接读取其内容,因为数据已被高强度的加密算法所保护。同时,HTTPS还通过证书和签名机制确保了服务器身份的真实可靠,避免了钓鱼网站和中间人攻击的风险。在握手完成后,双方将使用协商好的密钥(通常是通过交换信息导出的一个对称密钥)对实际传输的数据进行加密。根据协商的加密套件,可能采用RSA、DH/ECDH等算法进行密钥交换,也可以利用TLS 1.3以后的密码套件进行前向安全密钥协商。c. 双方协商一致的加密套件(包括加密算法、散列函数和密钥长度等)。原创 2024-03-28 08:55:02 · 232 阅读 · 0 评论 -
【前端面试题-06】nodejs常用内置插件介绍一下
Node.js内置了很多核心模块,这些模块无需额外安装就可以直接使用,它们涵盖了多种常见功能,包括文件系统操作、网络通信、加密解密、HTTP服务器与客户端、事件驱动机制、路径处理、子进程管理、流处理等。原创 2024-03-22 09:54:22 · 482 阅读 · 1 评论 -
【前端面试题-07】typescript 内置类型有哪些,分别简单介绍下用法
这些工具类型主要用于类型操作和转换,便于在编程过程中灵活处理和约束变量类型。通过使用这些类型,可以编写更为精细和可控的类型定义。TypeScript 提供了一系列内置类型,这些类型有助于编写类型安全的代码。以下是 TypeScript。原创 2024-03-22 11:59:19 · 344 阅读 · 1 评论 -
【前端面试题-05】简单说一下前端主流的三个静态资源模块打包工具,并对比一下三者相同的与差异的地方
WebpackBrowserifyRollup相同之处:差异之处:原创 2024-03-15 14:13:50 · 192 阅读 · 1 评论 -
【前端面试题-04】简单说一下 js的作用域链
总结起来,JavaScript作用域链是一个描述了变量作用域层次结构的链表,它保证了代码执行时能准确地根据这个链来查找到对应的变量。通过作用域链的机制,JavaScript实现了对变量的访问控制和垃圾回收。原创 2024-03-15 11:28:46 · 154 阅读 · 0 评论 -
【前端面试题-02】简单说一下 前端 文件上传如何切片
通过这种切片上传的方式,可以更灵活地处理大文件上传的场景,尤其是在网络状况不稳定的情况下,确保文件上传的可靠性和用户体验。原创 2024-03-15 08:56:45 · 272 阅读 · 0 评论 -
【前端面试题-03】简单说一下 vue2和vue3的差异在哪里
以上是 Vue 2 和 Vue 3 的一些主要差异,实际迁移和使用时还会遇到更多细节上的变化。Vue 3 在保持向后兼容尽可能多的 Vue 2 特性的同时,着重提升了框架的灵活性、可维护性和性能表现。原创 2024-03-15 10:24:31 · 285 阅读 · 1 评论 -
【前端面试题-01】简单说一下webpack构建流程
在上述整个流程中,Webpack 通过广播一系列的编译事件,允许插件在特定时刻介入并修改编译结果,以实现各种定制化的构建功能。例如,插件可以在资源打包前压缩代码、生成 source map,或者在构建结束后自动刷新浏览器等。原创 2024-03-15 08:50:57 · 134 阅读 · 1 评论