滴滴前端一面必会面试题汇总

滴滴前端常见面试题 PNG是一种比较新的图片格式,PNG-8是非常好的GIF格式替代者,在可能的情况下,应该尽可能的使用PNG-8而不是GIF,因为在相同的图片效果下,PNG-8具有更小的文件体积。JPEG的图片的优点是采用了直接色,得益于更丰富的色彩,JPEG非常适合用来存储照片,与GIF相比,JPEG不适合用来存储企业Logo、线框类的图。但对于引用类型的数据(主要是对象和数组)来说,变量指向数据的内存地址,保存的只是一个指针,const只能保证这个指针是固定不变的,至于它指向的数据结构是不是可变的,就完全不能控制了。 阅读详情

实现 LazyMan

题目描述:

实现一个LazyMan,可以按照以下方式调用:
LazyMan(“Hank”)输出:
Hi! This is Hank!

LazyMan(“Hank”).sleep(10).eat(“dinner”)输出
Hi! This is Hank!
//等待10秒..
Wake up after 10
Eat dinner~

LazyMan(“Hank”).eat(“dinner”).eat(“supper”)输出
Hi This is Hank!
Eat dinner~
Eat supper~

LazyMan(“Hank”).eat(“supper”).sleepFirst(5)输出
//等待5秒
Wake up after 5
Hi This is Hank!
Eat supper

前端进阶面试题详细解答
实现代码如下:

class _LazyMan {
   
   
  constructor(name) {
   
   
    this.tasks = [];
    const task = () => {
   
   
      console.log(`Hi! This is ${
     
     name}`);
      this.next();
    };
    this.tasks.push(task);
    setTimeout(() => {
   
   
      // 把 this.next() 放到调用栈清空之后执行
      this.next();
    }, 0);
  }
  next() {
   
   
    const task = this.tasks.shift(); // 取第一个任务执行
    task && task();
  }
  sleep(time) {
   
   
    this._sleepWrapper(time, false);
    return this; // 链式调用
  }
  sleepFirst(time) {
   
   
    this._sleepWrapper(time, true);
    return this;
  }
  _sleepWrapper(time, first) {
   
   
    const task = () => {
   
   
      setTimeout(() => {
   
   
        console.log(`Wake up after ${
     
     time}`);
        this.next();
      }, time * 1000);
    };
    if (first) {
   
   
      this.tasks.unshift(task); // 放到任务队列顶部
    } else {
   
   
      this.tasks.push(task); // 放到任务队列尾部
    }
  }
  eat(name) {
   
   
    const task = () => {
   
   
      console.log(`Eat ${
     
     name}`);
      this.next();
    };
    this.tasks.push(task);
    return this;
  }
}
function LazyMan(name) {
   
   
  return new _LazyMan(name);
}

懒加载与预加载的区别

这两种方式都是提高网页性能的方式,两者主要区别是一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。

  • 懒加载也叫延迟加载,指的是在长网页中延迟加载图片的时机,当用户需要访问时,再去加载,这样可以提高网站的首屏加载速度,提升用户的体验,并且可以减少服务器的压力。它适用于图片很多,页面很长的电商网站的场景。懒加载的实现原理是,将页面上的图片的 src 属性设置为空字符串,将图片的真实路径保存在一个自定义属性中,当页面滚动的时候,进行判断,如果图片进入页面可视区域内,则从自定义属性中取出真实路径赋值给图片的 src 属性,以此来实现图片的延迟加载。
  • 预加载指的是将所需的资源提前请求加载到本地,这样后面在需要用到时就直接从缓存取资源。 通过预加载能够减少用户的等待时间,提高用户的体验。我了解的预加载的最常用的方式是使用 js 中的 image 对象,通过为 image 对象来设置 scr 属性,来实现图片的预加载。

CSS预处理器/后处理器是什么?为什么要使用它们?

预处理器, 如:less,sass,stylus,用来预编译sass或者less,增加了css代码的复用性。层级,mixin, 变量,循环, 函数等对编写以及开发UI组件都极为方便。

后处理器, 如: postCss,通常是在完成的样式表中根据css规范处理css,让其更加有效。目前最常做的是给css属性添加浏览器私有前缀,实现跨浏览器兼容性的问题。

css预处理器为css增加一些编程特性,无需考虑浏览器的兼容问题,可以在CSS中使用变量,简单的逻辑程序,函数等在编程语言中的一些基本的性能,可以让css更加的简洁,增加适应性以及可读性,可维护性等。

其它css预处理器语言:Sass(Scss), Less, Stylus, Turbine, Swithch css, CSS Cacheer, DT Css。

使用原因:

  • 结构清晰, 便于扩展
  • 可以很方便的屏蔽浏览器私有语法的差异
  • 可以轻松实现多重继承
  • 完美的兼容了CSS代码,可以应用到老项目中

分片思想解决大数据量渲染问题

题目描述:渲染百万条结构简单的大数据时 怎么使用分片思想优化渲染

实现代码如下:

let ul = document.getElementById(</
滴滴前端面试题合集 阅读详情

相关推荐

滴滴前端二面高频面试题合集

HTTPS通信(握手)过程 HTTPS的通信过程如下:其实看完前面的闭包、 这部分内部的话,应该基本能了解作用域的一些应用。一旦我们将这些作用域嵌套起来,就变成了另外一个重要的知识点「作用域链」,也就是 JS 到底是如何访问需要的变量或者函数的。图中的 是个数组,作用域的一层层往上寻找就等同于遍历 。1. 全局作用域 从这段代码中我们可以看到,globalName 这个变量无论在什么地方都是可以被访问到的,所以它就是全局变量。而在 getName 函数中作为局部变量的 name 变量是不具备这种能力的

aync_sync的博客 1142

滴滴前端高频面试题

滴滴前端高频面试题

gogo2027的博客 922

滴滴前端一面常考vue面试题(持续更新中)

Model–View–ViewModel (MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。由 John Gossman(同样也是 WPF 和 Silverlight 的架构师)于2005年在他的博客上发表。

bb_xiaxia1998的博客 299

前端面试经历(字节、滴滴、虎牙),讲真的还挺难,前端大厂面试题总汇得看看

小编整理最近了小伙伴中具有代表性的面试经历及面试题,他们的情况小编就不多说了,一起看看他们面试中都遇到了什么问题。 字节 一面 刚开始就问我的项目,问的很详细。 webpack 提高构建速度的方式 loader 输入什么产出什么 ? webpack 原理 webpack 动态加载的原理 webpack 热更新 如何写一个 webpack plugin AST 的应用 如何解析一个 html 文本,还是考 AST babel 原理,怎么写 babel 插件 如何设计一个沙盒 sandbox ? 小程序的 A

Kepler_II的博客 9566

滴滴前端一面常考手写面试题合集

setInterval 的作用是每隔一段指定时间执行一个函数,但是这个执行不是真的到了时间立即执行,它真正的作用是每隔一段时间将事件加入事件队列中去,只有当当前的执行栈为空的时候,才能去从事件队列中取出事件执行。所以可能会出现这样的情况,就是当前执行栈执行的时间很长,导致事件队列里边积累多个定时器加入的事件,当执行栈结束的时候,这些事件会依次执行,因此就不能到间隔一段时间执行的效果。输入字符串s,以及其重复的次数,输出重复的结果,例如输入abc,2,输出abcabc。看图理解next层级。

helloworld1024fd的博客 415

外包滴滴一面记录

滴滴软件测试一面问题记录

qq_39566401的博客 1400

2024年最全【面试题】滴滴前端一面常考vue面试题(2),2024年这些高频面试知识点最后再发一次

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】});

2401_84617356的博客 1048

滴滴前端一面高频vue面试题及答案

通过input事件把数据。在Vue中,对响应式处理利用的是Object.defineProperty对数据进行拦截,而这个方法并不能监听到数组内部变化,数组长度变化,数组的截取变化等,所以需要对这些操作进行hack,让Vue能监听到其中的变化。比如从 B 组件跳转到 A 组件的时候,A 组件需要更新自身的状态。简单来说就是,重写了数组中的那些原生方法,首先获取到这个数组的__ob__,也就是它的Observer对象,如果有新的值,就调用observeArray继续对新的值观察变化(也就是通过。

bb_xiaxia1998的博客 647

【面试题】滴滴前端一面常考vue面试题(1)

原理Array, tag?asyncFactory = CtorCtor = resolveAsyncComponent(asyncFactory, baseCtor) // 默认调用此函数时返回 undefiend // 第二次渲染时Ctor不为undefined if (Ctor === undefined) {returncreateAsyncPlaceholder( // 渲染占位符 空虚拟节点data,context,children,tag。

2401_84446919的博客 553

滴滴前端面试全流程复盘:从八股文到真实场景设计

2026年前端面试正在从八股文背诵转向场景设计与工程落地能力考察。除了事件循环、闭包等基础原理,面试官更看重性能优化、监控上报、异常兜底等生产级技术方案的权衡能力。本文以滴滴前端面试为样本,复盘三轮技术面中关于微前端改造、异步调度器、虚拟列表、SSE服务端推送、大屏数据可视化部署等高频考点,结合真实业务场景展示如何将知识转化为设计决策。同时梳理了前端监控体系搭建、线上事故排查思路及性能优化体检清单,帮助开发者理解大厂对稳定性优先的工程文化。无论你是准备跳槽还是提升技术深度,这份面经都能提供从“能写”到“能讲

weixin_28040125的博客 350

web前端开发流程图,118页Vue面试题总结,完整PDF

前言 年前准备换工作,总结了一波面试最频繁的面试问题跟大家交流。此文章是关于浏览器的常见问题,大概面试10家遇到6家提问类似问题(主要是大厂和中厂)。目前入职滴滴出行成都团队。 腾讯 一面 自我介绍 简单聊了一下教育背景,问了一下专业学过的课程 为什么选择前端开发 深挖了一下前端开发的项目经历 算法题:给一篇文章,统计文章中出现次数最多的单词,给出单词和次数(注意可能存在多个次数最大的单词) 讲一下正则表达式 了解网络通信吗,讲一下https 项目中有遇到过跨域吗,讲一下跨域 了解XSS攻击吗 了解les

m0_57064830的博客 9204

得物一面,算法工程师(工程方向-Java/C++)杭州

上来就自我介绍,没问项目,没有手撕,全长24分钟。好多同学进面试了,我这儿可以跟踪进度哦hello大家好,我是博世员工,可以为大家内推哦~内推码:NTAXJFp可以为大家跟踪进度,有任何问题可以联系我。看了招行的官网,感觉这些岗位有点眼花缭乱,想问下总行金融科技生和下面分行的信息技术培养生,金融科技岗,信息技术岗啥的,都各自特点是什么呢?开学大三,在算是中厂的公司实习,刚半个月,本来想着后面可以转线上,加上学业也不算特别紧张,但现在发现工作是实时性的,中间有课也兼顾不了,也学不到东西,都是比较机。

2301_79125431的博客 1178

前端实习面经:从简历优化到拿下滴滴Offer的完整复盘

前端面试是检验技术基础与工程实践能力的系统工程,面试官通过层层追问评估候选人解决问题的思维边界。从JavaScript核心机制到浏览器渲染原理,从事件循环的微任务宏任务顺序到闭包与内存管理,扎实的底层认知是应对高频考题的基石;而Vue或React等框架的响应式原理、生命周期设计,则要求候选人具备源码级理解。在工程化方面,Webpack的构建流程、Vite的高效热更新,以及大文件上传、权限控制等场景题,逐渐成为区分度的关键。这些技术概念不仅用于答题,更服务于真实业务中的性能优化与架构设计。对于准备暑期实习的求

weixin_29011395的博客 309

大数据工程师:从牛客整理的 BAT Flink 面试题

是没有特定的部门,统一面试。上一个业务算是完结了吧,下午没活干,被迫摸了会鱼,但也不敢太摸,上次业务完成时大摸特摸,没注意到新的风暴已经出现。举例一些我很不好的体验:1.面试的时候是直接打电话,当场面试,事先也不约时间面试,就很突然,问。最近2012开始打保温电话,我昨天收到了,面评很好希望很大不要签其他公司,一分钟讲完挂了,有一种赶时间的感觉。今天刚参加完群面,有一个男的一个女的像两口子似的就他俩一直叭叭也不给别人说话的机会,然后老反驳这个反驳那个的,群面真下头,这俩人也是非常无语,我一个男生能这么烦。

每天多一点干货 1208

互联网大厂大数据面试真题汇总大全(四)

示例:[1,2,3]期望:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]学者一 学者二学长14.1.1 一面1)自我介绍叫什么名字,来自哪里,本科哪个学校,硕士哪个学校,大数据做了多长时间,对Hadoop生态圈以及Spark生态圈中的哪些技术比较了解(很简单的一句就带过了),说完大概2min2)技术部分(1)让我介绍下Sqoop,说他没见过我说Sqoop我用的不熟,知道怎么用,可以简单地给他介绍一下。然后就说Sqoop是HDFS、关系型数据、HBase它们三者

悦分享 183

Linux中断子系统(二)—— 通用框架处理

1、数据结构分析 (1)中断描述符结构structirq_desc: 1)打开CONFIG_SPARSE_IRQ宏(中断编号不连续),中断描述符以radix- tree来组织,用户在初始化时进行动态分配,然后再插入radix-tree中; 2)关闭CONFIG_SPARSE_IRQ宏(中断编号连续),中断描述符以数组的 形式组织,并且已经分配好; 3)不管哪种形式,最终都可以通过linuxirq号来找到对应的中断描述符; (2)stru...

weixin_38428439的博客 4871

MATLAB实战:5步搞定GNSS单点定位解算(附完整代码)

本文提供了一份基于MATLAB的GNSS单点定位实战指南。通过5个核心步骤,详细讲解了如何从卫星坐标和伪距观测值出发,利用最小二乘迭代算法,构建并实现一个完整的单点定位解算器。文章附有完整代码,并涵盖精度评估与结果分析,适合GNSS初学者和MATLAB用户快速上手实践。

a2b3c4d5e的博客 250

Look4sat蓝牙追星云台

//这是一个追星云台的小程序 //配合Look4sat蓝牙传输数据(W*** A***),并让电机做出动作 //app设置内填好ESP32的蓝牙MAC,数据格式:W$AZ A$EL //希望大家可以共同改进

HoyAnGx的博客 616

从‘炼丹’到‘讲理’:物理信息神经网络(PINN)的硬约束 vs 软约束,我该选哪个?

本文深入探讨了物理信息神经网络(PINN)中硬约束与软约束的选择策略,帮助研究者在深度学习中有效融入物理先验知识。通过对比两种约束方法的实现复杂度、数据效率和计算性能,提供了针对材料科学和流体动力学等领域的实用决策指南,并介绍了自适应约束和混合约束等前沿技术。

weixin_42535703的博客 526

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3603

【数据集2】CPC Global Unified Temperature/Precipitation数据简介及处理

简介CPC 温度及降雨 数据

WW、forever的博客 3105

Deepseek Engram 论文全面解读

以下是对 DeepSeek 与北京大学于联合发布的论文《》(简称Engram 论文)的。

lpfasd123的博客 355

2026华为OD机试(JavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 社招前端高频面试题(附答案)
下一篇: 一比一手写迷你版vue,彻底搞懂vue运行机制
hellocoder2029
博客等级 码龄4年 15粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值