首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏前端食堂

    树+8前端算法面试高频题解

    读完需要9分钟,速读仅需3分钟 这是前端食堂第 64 篇原创 美味值:????? 口味:酸菜汆白肉 树相关名词科普 根节点 叶子节点 父节点 子节点 兄弟节点 高度 深度 层 ? 开启刷题 前端食堂 LeetCode 题解仓库[1] 年初立了一个 flag,上面这个仓库在 2021 年写满 100 前端面试高频题解,目前进度已经完成了 50%。 如果你也准备刷或者正在刷 LeetCode,不妨加入前端食堂,一起并肩作战,刷个痛快。 了解了树基础知识后,马上开启我们愉快刷题之旅,我整理了 8 高频 LeetCode 链表题及题解如下。 原题链接[8] DFS 深度优先搜索 树深度 = 左右子树最大深度 + 1 const maxDepth = function(root) { if (! 知乎:童欧巴 掘金:童欧巴 这是一个终身学习男人,他在坚持自己热爱事情,欢迎你加入前端食堂,和这个男人一起开心变胖~ “如果你觉得读了本文有收获的话可以点个在看让我看到。

    62530发布于 2021-04-09
  • 来自专栏全栈技术

    8前端开发独特技巧

    这篇文章附带了一些开发人员独特技巧。一些技巧可能对您学习工作有所帮助,并提高您效率。 width: calc(5px + 100px) width: calc(6em * 8) width: calc(100% - 5px) 3.in 运算符 in 运算符可以检查是否在数组中存在索引, <mi>c</mi> <mn>2</mn> </msup> </mrow> </math> 8. #footer > a 这将选择和设置快速位于页脚ID下所有动态连接组件样式。它不会选择动态组件之外任何内容,也不会选择页脚中包含其他任何内容,类似于纯内容。这也适用于高级路由组件。 感谢您阅读

    76010发布于 2021-08-23
  • 8个值得推荐用于前端开发性能分析工具

    4.47%用户希望在两秒或更短时间内加载网页 5.40%用户会等待不到三秒网页渲染时间就放弃该网站。 6.10秒左右是保持用户注意力极限,大多数用户会在10秒后离开你站点。 并进一步为大家提供改进意见。 PageSpeed工作完全取决于性能,它混合使用实验室和现实世界数据来构建一个关于网站速度综合报告。 你可以简单地在Chrome开发者工具中运行这个工具命令行甚至节点模块。而你所要做就是提供一个URL,Lighthouse会运行一系列审计,告诉你网站运行情况。 8.SpeedTracker SpeedTracker是一个运行在WebPageTest之上工具,它定期对你网站进行性能测试,并显示各种性能指标随时间变化情况。 在上述工具帮助下,你可以做很多事情,但要使你网站达到更高标准,你可能需要付出更多努力。 END

    3.9K10编辑于 2022-08-11
  • 来自专栏全栈者

    高级前端开发者必会34Vue面试题系列(二)

    前言 本次解析本套高级前端Vue面试题第三问,Vue中是如何检测数组变化,如果对这一问也有所不熟悉,请一起学习吧。 ---- 上一文中,我们提到了Vue2.0和3.0响应式原理,但是没有深入细讲,在本文会进行深入分析Vue在2.0版本和3.0版本里,分别是如何检测各种数据类型值变化,从而做到页面响应式,并且搞清楚为何数组类型变化要特殊处理 ,最后也将Vue从2.x升级到3.x过程中为何要采用了不同数据监测原理原因也一探究竟。 b、回到文章开始示例那一段Vue代码里实现,我改变了Vuedata下list下标属性值,页面是没有响应变化,但是这里我改了list值从1到5,页面响应了,这又是怎么回事? 2、数组操作方法如果是操作已经存在被监听元素也是可以触发setter被监听

    1.3K30编辑于 2022-01-24
  • 来自专栏全栈者

    高级前端开发者必会34Vue面试题系列(一)

    前言 最近拿到一套高级前端Vue面试题,从头往下看了一遍,居然大部分都是一知半解,遂准备一认真学习总结,立志做一位Vue高级开发者! ? 提到MVVM,很多前端开发者都会想到Vue双向绑定,然而它们并不能划等号,MVVM是一种软件架构模式,而Vue只是一种在前端层面上实现,其实不单在Vue里,在很多Web 框架应用里都有相关实现。 因为前端独立开发发布,实际相对原来MVC模式是少了View这一层,这也让新概念Restful出现在我们视野里,很多新框架又开始支持提供这种前端控制轻量级模式下适配方案。 随着前端对于控制逻辑越来越轻量,MVVM模式作为MVC模式一种补充出现了,万变不离其宗,最终目的都是将Model里数据展示在View视图上,而MVVM相比于MVC则将前端开发者所要控制逻辑做到更加符合轻量级要求 实现更友好,更适合开发开发应用程序。

    1.9K20发布于 2020-03-30
  • 来自专栏全栈技术

    Web前端基础题18

    capitalize是首字母大写 text-transfrom:lowercase是全部字母为小写 text-transfrom:uppercase是全部字母为大写 font-weight: bold;字体为粗体, 8、 A.使用utf-8编码 B.将阿拉伯文转为图片并嵌入到文档内 C.使用GBK编码 D.使用iso-8859-2编码 【正确答案】A 【答案解析】A。 UTF-88-bit Unicode Transformation Format)是一种针对Unicode可变长度字符编码,又称万国码。UTF-8用1到6个字节编码UNICODE字符。 ---- 以下都是多选题 ---- 多选题 (共计 8 题,总计 16分) 11、(多选题)在使用table表现数据时,有时候表现出来会比自己实际设置宽度要宽,为此需要设置下面哪些属性值? <body> 【正确答案】A,B,D 【答案解析】这里说是html文档结构标准、规范,html、head、body是一个html文档中必须标签 18、(多选题)关于html盒模型,下列说法正确

    2.9K20发布于 2021-08-23
  • 来自专栏前端入门学习

    2019年Web前端开发8个趋势,你知道几个?

    熟悉前端开发的人应该都知道,最近几年,各种前端框架层出不穷,H5开发模式也越来越流行,大前端时代也已经到来。 每一年各种前端技术也应运而生,快速掌握最新前端技术也是每一个开发者不可或缺一门技能。 今天,Web前端小编就来和大家谈谈2019年8个Web开发趋势,希望能给各位带来一些有用信息。 1、智能聊天机器人Chatbot 智能聊天机器人为用户沟通、服务交付提供了一种全新渠道。 对于单页网站概念,用户体验非常重要,未来几年随着新Web标准和动画特效加入,类似单页网站这样快速Web产品将大行其。 4、物联网web开发 我们正在进入一个前端网页设计新时代,网站设计需要考虑到智能设备功能。物联网将把电子商务网站设计提升到一个新水平。 8、区块链Web开发 区块链正在落地阶段,首先需要解决就是区块链应用可访问问题,而Web3.0技术将向区块链敞开大门(类似微信、Facebook这样封闭系统显然不会对颠覆性第三方区块链开发者手下留情

    53240发布于 2019-08-29
  • 来自专栏IT大咖说

    面向前端开发V8性能优化

    摘要 V8是一个由丹麦Google使用C++开发开源JavaScript引擎,用于Google Chrome中,目前该JavaScript引擎已用于其它项目的开发。 在V8数字表示 在V8中数字有小整数(SMI)和引用类型,它们是通过标记位进行表示,以提升性能。 这个例子是为了说明基于标记位存储方式,在 V8 引擎内部并不是这么存储。 ? 在V8代码中使用C++位运算去做比较,是为了提升V8引擎本身性能。 ? 如图我做了一个基准测试。 左边代码是V8单元测试中代码,可见在32位中使用是i30,在64位系统上,V8则会使用i31。 Type feedback V8引入了类型反馈技术。当我们进行二元运算时候,V8会对所有运算参数进行类型反馈,类型反馈给V8引擎。 ? 这就是V8使用优化编辑器。

    1.6K100发布于 2018-04-03
  • 来自专栏禅境花园

    centos8部署

    环境 CentOS 8 + 禅16.x + Nginx + Mysql + PHP PHP 配置 centos 自带有 php环境 sudo dnf module list php # 查看版本,默认 vi /etc/php-fpm.d/www.conf 找到 做修改 user = (非root 用户) group = (非root 用户) 这里没配好 503,500 注意这里 使用端口和非端口区别 % | | root | 127.0.0.1 | | root | ::1 | | root | localhost | +------+-----------+ 允许单独ip 192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION; 最后一步还需要配置防火墙 / 安全策略组,开放3306 端口 安装禅 .16.5.php7.2_7.4.zip dnf -y install unzip # 安装unzip解压 ,有就不装 unzip ZenTaoPMS.16.5.php7.2_7.4.zip # 解压禅源码包

    96820编辑于 2022-10-25
  • 来自专栏全栈者

    高级前端开发者必会34Vue面试题解析(四)

    在生命周期每个节点,Vue提供了一些钩子函数,使得开发代码能被有机会执行。 这里钩子函数可以简单理解为,在Vue实例中预先定义了一些像created,mounted等特定名称函数,函数体内容开发开发者填充,当被实例化时候,会按照确定先后顺序来执行这些钩子函数,从而将开发代码有机会执行 对于如何在Vue内部调用开发代码原理,可以看看下面这个例子。 第一,从开发代码层面看看,与开发者较为密切数据模型与页面DOM结构在各个生命周期钩子函数执行时变化。第二,在源码层面看一下这些生命周期钩子函数它们各自执行过程。 下面是源码里所列出来所有可承载开发者代码钩子函数。

    1.6K30发布于 2020-04-10
  • 来自专栏前端入门学习

    移动前端开发和web前端开发区别

    既然都是前端开发,两者肯定有紧密联系,移动前端开发和web前端开发其实都属于前端开发范围,目前前端发展趋势就是大前端,可以说是包罗万象,当然也就包含PC端和移动端领域,而现在前端开发人员也已早就不是当年切图仔了 ,需要学习和掌握大前端体系方方面面的知识才能在日常开发中游刃有余,但是不论趋势如何发展,目前来看HTML、CSS和JavaScript依然是整个前端开发三大基石。 所以不论是想做移动前端开发还是web前端开发,这三样基础技术都必须熟练掌握。 移动前端开发和web前端开发都属于前端开发,那具体又有什么区别呢? 1、业务应用场景 web前端开发主要指传统PC端网页开发,页面主要是运行在PC端浏览器中,移动前端开发出来页面主要是运行在手机上;直观上会感觉,PC端页面大一些,移动端页面小一些,但是根据开发经验 ,页面大可并不代表书写代码复杂,页面小也并不意味着开发简单,难与易主要还是取决于具体业务需求。

    2.1K00发布于 2019-08-11
  • 来自专栏前端开发面试

    80%前端开发都答不上来js异步面试题

    最近面试中碰到了一关于JS执行顺序题目,题目比较基础,但是如果对于JS不熟的话,还是容易答不上来。再次记录和分析此次面试题,希望对大家有所帮助。 首先看官肯定知道JS是单线程,实现异步方法就是定时器和es6+出现promise/async等,那么现在问题来了,既然es6出现异步方式,那么和之前定时器相比,那个异步先执行呢? 在这里要记住一句话,微任务优先级是高于宏任务。参考面试题解答 前端进阶面试题详细解答程序执行顺序1、主程序因为js是单线程,同一时间只能有一段代码在执行,所以首先执行就是JS主程序。 微任务:async1 Promise-then宏任务:setTimeout8、微任务 async1 - console.log监测到有微任务,执行微任务。console.log立即执行,没有异步部分。 同时删除微任务队列中对应任务,再次回到第二步。微任务:空宏任务:setTimeout8 和 9 两步,在不同浏览器版本可能执行顺序并不相同,所以不必纠结这两部前后顺序问题。

    43250编辑于 2022-10-05
  • 来自专栏全栈者

    高级前端开发者必会34Vue面试题解析(三)

    而由于Vue内部渲染机制,实际上页面只会渲染一次,把第一次赋值所带来响应与第二次赋值所带来响应进行一次合并,将最终val只做一次页面渲染。 从性能角度,例子里最终需要展示数据其实就是第二次给val赋值,如果第一次赋值也需要页面渲染则意味着在第二次最终结果渲染之前页面还需要渲染一次无用渲染,无疑增加了性能消耗。 callbacks.slice(0); callbacks.length = 0; for (var i = 0; i < copies.length; i++) { copies[i](); } } 8、 flushSchedulerQueue(); return } // 将页面更新函数放进异步API里执行,同步代码执行完开始执行更新页面函数 nextTick(flushSchedulerQueue); } 在我们开发代码里 this.dirty = true; } else if (this.sync) { this.run(); } else { queueWatcher(this); } }; 在开发代码中

    85740发布于 2020-03-31
  • 来自专栏鲸鱼动画

    前端综合面试题(9)

    简述一下背景故事,今天有一个年轻人来我们公司面试前端,主管临时找我充当了一次面试官,个人工作经验尚佳,面试经验一般,随口问了他 8 个问题,小伙子回答不错,我让他明天来和人事谈薪资。 在我们面试环节当中,面试官不一定就是前端工作人员,也可能工作经验不如你我丰富,不会说我们公司只用Vue开发项目就只问你Vue传参和封装,涵盖前端各个知识点才能看出一个人基本功是否扎实。 8.computed 与 watch 区别? 9.什么是防抖与节流? 8,watch 用来事件监听,当数据变化时执行一个函数; computed 根据现有的数据计算出新值。 9,防抖:多次触发事件后,n秒内函数只能执行一次;   节流:多次触发事件后,函数每n秒执行一次; (本章完)   前端学习不是一蹴而就,不积跬步无以至千里,不积小流无以成江海。

    78920发布于 2020-09-22
  • 来自专栏互联网杂技

    20个为前端开发者准备文档和指南8

    官方开发者团队制作一个站点,它综述了关于最佳实践应用开发意见,旨在给那些准备学习MeteorJavaScript开发者提供中间桥梁作用。 JavaScript Developer Survey Results(JavaScript开发者调查结果) Nicolás Bevacqua研究了JavaScript开发习惯。 fromTitle=CDN “该站点收集信息可以帮助你更好地为你内容分发需求找到更好地CDN。” ? 8. 打开你开发者工具控制台查看获取到关于service worker正在做事情事件和通知信息。” ? 14. What forces layout / reflow 它是Paul Irish做一个要点总结,列出了当在JavaScript里使用不同前端功能时,可能触发”布局颠簸”,该问题是一个常见性能瓶颈

    1.7K50发布于 2018-04-03
  • 来自专栏web前端教室

    前端开发前端开发工程师区别

    前端行业其实很少人去深究前端开发工程师中“工程师”这三个字,究竟是什么意思。其实在我看来,许多所谓前端开发工程师只是做前端开发工作而已,远配不上工程师这三个字。 恩,其实我是说,我配得上前端开发工程师中“工程师”这三个字。不要急着喷我,我有理由。 举个例子吧,外包公司大家都知道,在那公司里,多数都是只做软件,不做业务。 这也是我说,我是配得上前端工程师这几个字原因,因为我也能根据业务发展,来解决前端工作范围内问题。 好吧,我再谦虚一下,在一定程度上。。。 我不仅拥有编写前端程序代码开发思路,我还有能解决问题思路。我这种能力比能记住和使用很多函数方法插件框架。。这些东西要强多。 可能我回答他答案并不标准,但肯定没有说错。对于一个合格开发工程师来讲,不管你前端还是后端,给你一个活儿,你最好想想它是干嘛?谁需要它?它产出物给谁?

    2.2K100发布于 2018-02-06
  • 来自专栏全栈程序员必看

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

    4,解释一下:csrf 和 xss 5,怎么防止 csrf 和 xss 6,跨域处理方案有哪些 7,CORS 是如何做8,对于 CORS ,Get 和 POST 有区别吗? ,所以没问前端任何知识,主要聊业务相关,看看我对业务理解,以及一些想法。 96前端面试题 下面给大家分享96前端面试题,如果有需要可以点击这里免费领取! 1,一些开放性题目 自我介绍:除了基本个人信息以外,面试官更想听是你与众不同地方和你优势。 项目介绍 如何看待前端开发? 平时是如何学习前端开发? 未来三到五年规划是怎样? 2,position值, relative和absolute分别是相对于谁进行定位? 5,谈谈你对webpack看法 6,说说TCP传输三次握手四次挥手策略 7,TCP和UDP区别 8,说说你对作用域链理解 9,创建ajax过程 10,渐进增强和优雅降级 11,常见web

    1.3K10编辑于 2022-09-27
  • 来自专栏用户9715607的专栏

    20高频前端手写题(有答案)

    前端面试题视频讲解实现类继承类继承在几年前是重点内容,有n种继承方式各有优劣,es6普及后越来越不重要,那么多种写法有点『回字有四样写法』意思,如果还想深入理解去看红宝书即可,我们目前只实现一种最理想继承方式 :首先用字符串方式来保存大数,这样数字在数学表示上就不会发生变化初始化res,temp来保存中间计算结果,并将两个字符串转化为数组,以便进行每一位加法运算将两个数组对应位进行相加,两个数相加结果可能大于 ${char},出现了${num}次`);复制代码使用 reduce 求和arr = 1,2,3,4,5,6,7,8,9,10,求和let arr = [1,2,3,4,5,6,7,8,9,10]arr.reduce ((prev, cur) => { return prev + cur }, 0)复制代码arr = [1,2,3,[4,5,6],7,8,9],求和let arr = [1,2,3,4,5,6,7,8,9,10 当对象 readyState 变为 4 时候,代表服务器返回数据接收完成,这个时候可以通过判断请求状态,如果状态是 2xx 或者 304 的话则代表返回正常。

    98020编辑于 2022-07-29
  • 来自专栏前端技术分享小合集

    前端面试高频20手写题

    Promise 实例数组, 然后其 then 注册回调方法是数组中某一个 Promise 状态变为 fulfilled 时候就执行. 因为 Promise 状态只能改变一次, 那么我们只需要把 Promise.race 中产生 Promise 对象 resolve 方法, 注入到数组中每一个 Promise 实例中回调函数中即可 ,并且返回接受余下参数且返回结果新函数技术。 第二次取出数据数组第二个元素,随机产生一个除了索引为1之外索引值,并将第二个元素与该索引值对应元素进行交换按照上面的规律执行,直到遍历完成var arr = [1,2,3,4,5,6,7,8,9,10 randomIndex]] = [arr[randomIndex], arr[i]];}console.log(arr)复制代码还有一方法就是倒序遍历:var arr = [1,2,3,4,5,6,7,8,9,10

    52830编辑于 2022-08-02
  • 来自专栏前端食堂

    链表+6前端算法面试高频题解

    读完需要10分钟,速读仅需3分钟 这是前端食堂第 63 篇原创 美味值:????口味:虎皮凤爪 数组在上一篇专栏,数组回炉重造+6前端算法面试高频题解中我们进行了回顾和刷题。 年写满 100 前端面试高频题解,目前进度已经完成了 50%。 了解了链表基础知识后,马上开启我们愉快刷题之旅,我整理了 6 高频 LeetCode 链表题及题解如下。 https://leetcode-cn.com/problems/linked-list-cycle/solution/qian-duan-shi-tang-ti-jie-chao-hao-li-ji-md8m 知乎:童欧巴 掘金:童欧巴 这是一个终身学习男人,他在坚持自己热爱事情,欢迎你加入前端食堂,和这个男人一起开心变胖~ “如果你觉得读了本文有收获的话可以点个在看让我看到。

    48330发布于 2021-04-09
领券