滴滴前端一面面经(已挂)
面试过程
前段时间面试了滴滴的前端实习岗位,大厂的面试机会很难得,复习了很多前端知识。
拿到面试机会,是在地铁上投递了boss,当时hr看了我的简历就和我约了第二天的面试。电脑也没带,晚上就用手机复习了前端的一些八股。
没想到的是,一面就挂掉,而且前端上升到开发的问题几乎没问。
一开始的时候,面试官让我简单介绍,随后就是一个看代码说答案的题目。考察的是var、let、const的用法。
这个题目他跟我说了多个情况,面试完之后也没有及时总结,所以就没办法在这里展示完整题目。
接着面试官又看了看我的简历,发现我是软工的,就说要考我算法。十五分钟,手写判断二叉树是否对称。
不出意外,这个题十五分钟弄不出来。然后面试官就问了我MVVM。并且期望问到更多细节。
第四个题目,如下:

他给我的提示是正则,也允许我搜正则相关的知识。
但是当时是共享屏幕敲代码,很慌张,所以搜也没搜到个啥。然后他就给我推了一篇博客,把这道题目的正则给了我,让我写js代码。
这是我写的:
//定义一个URL字符串
var url = "https://www.example.com/path/file.html?id=1234#top";//定义一个正则表达式用于匹配URL
var regex = /^([a-z]+:\/\/)?([a-z\d\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?(\?\S*)?(#\S*)?$/i;//输出结果
// console.log(result);
// console.log('------')
// subdomain 传进去的url
// domain didi.com是判断的条件,如果url存在则返回true,若不存在则返回false
// 那么只需要判断,subdomain中是否存在domain
function isSubdomain(subdomain, domain) {// TODO// 规则var regex = /^([a-z]+:\/\/)?([a-z\d\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?(\?\S*)?(#\S*)?$/i;// url经过规则解析后的结果var match = subdomain.match(regex)// 拿到的数据var result = {"protocol": match[1] || "","hostname": match[2] || "","domain": match[3] || "","path": match[4] || "","query": match[5] || "","hash": match[6] || ""}console.log('判断的依据是', domain)// 传进去的url片段拼接newUrl = result.hostname + '.' + result.domainconsole.log('传进去的url判断的片段是', newUrl)// 进行判断给出结果return newUrl.includes(domain)
}var subdomain = 'http://fast.didi.com/foo/bar'
var domain = 'didi.com'
isSubdomain(subdomain, domain)
要求十五分钟搞定,但是最后加起来快半个小时了。后面面试官又让我好好看一下基础的东西。不出意外就是挂了。
面试感想
首先,在面试滴滴前,我看了很多前端朋友的面经,我是看到有考八股和项目的。但是我没有遇到。所以当他让我写算法的时候我很慌。但是通过这个面试也看出了大厂注重的是什么,他们会首先看重你对算法的理解,把这些基础的东西敲好,才有可能写好代码。
其次,面试期间,我从大概第二题的时候就已经共享屏幕了。就导致我很慌。而且面试期间面试官在我写代码的时候不知道为什么笑了好几次,笑出声了。就,很搞我心态。其实面试应该相信自己一点,面不上也没什么,脸皮厚一点,没必要那么紧张。
第三点就是,最后一个题目,其实有更简单的方法:Node.js中也有合适的包,可以直接用。但是当时就被一句正则给限制住了,也被分享屏幕给限制住了。下次一定还是要坚持自己,不要被别人左右思想,哪怕他是面试官。
总之,加油啦,期望秋招能有个好的结果!!!
相关文章:
滴滴前端一面面经(已挂)
面试过程 前段时间面试了滴滴的前端实习岗位,大厂的面试机会很难得,复习了很多前端知识。 拿到面试机会,是在地铁上投递了boss,当时hr看了我的简历就和我约了第二天的面试。电脑也没带,晚上就用手机复习了前端的一些…...
靠谱的适合上班族做的副业,这几种一定要试试!
作为上班族,我们的时间常常被工作和日常生活所占据,很少有机会去追求自己的兴趣和创造额外的收入来源。然而,副业是一种理想的选择,可以帮助我们实现多样化的发展,并在经济上取得一定的突破。正如书中所言:…...
VSCode连接服务器
Pycharm连接服务器参考我的另一篇文章Pycharm远程连接服务器_pycharm进入服务器虚拟环境终端_Jumbo星的博客-CSDN博客 本质上Pycharm和VSCode都只是IDE,没有什么好坏之分。但是因为Pycharm连接服务器(准确来说是部署)需要买professional。而…...
Python爬虫网络安全:优劣势和适用范围分析
各位Python程序猿大佬们!在当今数字化时代,网络安全是至关重要的。保护你的网络通信安全对于个人和组织来说都是非常重要的任务。在本文中,我将与你一起探讨Python网络安全编程中的代理、虚拟专用网络和TLS这三个关键概念,分析它们…...
swift APP缓存
这里的APP缓存是指Cache文件夹里的内容,iOS系统从iOS 10开始就支持系统自动清理功能了。 建议重要的内容不要放到 Cache文件夹中。 一、获取缓存 /// 获取缓存大小public static func getCacheSize() -> String {let folderPath NSSearchPathForDirectoriesIn…...
Linux中的dpkg指令(dpkg -l | grep XXX等)
dpkg是Debian包管理系统中的一个工具,用于在Linux系统中安装、升级、删除和管理软件包。它是Debian、Ubuntu以及基于它们的发行版中的包管理器。 dpkg 有很多用法,常用之举例:dpkg -l | grep apt 显示系统中安装的与apt相关(命名)…...
import type {} from ‘module‘ 具体解释
import type { AxiosInstance, AxiosRequestConfig } from axiosimport type { RequestConfig, RequestInterceptors } from ./typesimport type {} from module 是 TypeScript 中的一种导入语法,用于导入类型声明而不导入具体的值,它告诉 TypeScript 编…...
十年JAVA搬砖路——数据结构线性结构
线性结构 线性表是一种数据结构,用于存储一组有序的数据元素。它的特点是数据元素之间存在一对一的关系,每个元素只有一个前驱和一个后继(除了第一个元素和最后一个元素)。线性表可以用数组或链表来实现。 数据是指事物的符号表…...
Mybatis为什么需要预编译等一系列问题
1 SQL 预编译 SQL 预编译是一种提高数据库访问效率的技术,它通过将 SQL 语句预编译并存储在数据库中,减少每次执行时需要进行解析和编译的开销,从而提高数据库访问的效率。 在预编译阶段,SQL 语句会被解析并转换为可执行的二进制…...
【JVM基础】JVM入门基础
目录 JVM的位置三种 JVMJVM体系结构类加载器双亲委派机制概念例子作用 沙箱安全机制组成沙箱的基本组件 NativeJNI:Java Native Interface(本地方法接口)Native Method Stack(本地方法栈) PC寄存器(Program…...
【SpringBoot】详细介绍Spring Boot中@Component
在Spring Boot中,Component是一个通用的注解,用于标识一个类是Spring框架中的组件。Component注解是Spring的核心注解之一,它提供了自动扫描和实例化bean的功能。 具体来说,Component注解的作用是将一个普通的Java类转化为Spring…...
Redis执行lua脚本-Time函数-获取当前时间
演变过程: TIME 命令返回当前服务器的时间,包含两个条目 Unix 时间戳和这一秒已经过去的微秒数。 eval " local res redis.call(time); return res; " 0 eval " local current_time redis.call(TIME) local unix_timestamp tonumb…...
前端无需install快速调试npm包,Console-Import使用
Console-Import是一个Chrome扩展插件,可以方便地从Chrome控制台导入JavaScript和CSS资源。它可以帮助我们在开发过程中快速调试和测试第三方库或代码。 下载地址 安装 要安装Console-Import,请在Chrome网上应用店搜索“Console-Import”,然…...
构建稳定的爬虫系统:如何选择合适的HTTP代理服务商
在构建一个稳定、高效的爬虫系统中,选择合适的HTTP代理服务商是至关重要的一步。本文将介绍如何选取可靠且性能优秀的HTTP代理服务供应商,来完成搭建一个强大而稳定的爬虫系统。 1.了解不同类型和特点 -免费公开代理服务器:提供免费但可能存在限制或不…...
Python爬虫基础:使用Scrapy库初步探索
Scrapy是Python中最流行的网页爬虫框架之一,强大且功能丰富。通过Scrapy,你可以快速创建一个爬虫,高效地抓取和处理网络数据。在这篇文章中,我们将介绍如何使用Scrapy构建一个基础的爬虫。 一、Scrapy简介及安装 Scrapy是一个用…...
MacBookPro重装系统图文教程
关机 长按电源按钮10s即可强制关机 快捷键选择 Intel Command-R:获得安装过的最新的 macOS,但不会升级到最高版Option-Command-R:获得与 Mac 兼容的最新版 macOSShift-Option-Command-R:获得 Mac 自带的 macOS 或者与它最接近且…...
Android 6.0长按电源键添加重启菜单
重启图标:frameworks/base/core/res/res/drawable-hdpi/ic_lock_power_reboot_alpha.pngframeworks/base/core/res/res/drawable/ic_lock_power_reboot.xml <?xml version"1.0" encoding"utf-8"?> <!-- Copyright (C) 2014 The And…...
Python股票交易---均值回归
免责声明:本文提供的信息仅用于教育目的,不应被视为专业投资建议。在做出投资决策时进行自己的研究并谨慎行事非常重要。投资涉及风险,您做出的任何投资决定完全由您自己负责。 在本文中,您将了解什么是均值回归交易算法ÿ…...
机器人制作开源方案 | 桌面级机械臂--本体说明+驱动及控制
一、本体说明 1. 机械臂整体描述 该桌面级机械臂为模块化设计,包含主机模块1个、转台模块1个、二级摆动模块1个、可编程示教盒1个、2种末端执行器、高清摄像头,以及适配器、组装工具、备用零件等。可将模块快速组合为一个带被动关节的串联3自由度机械臂…...
有哪些前端调试和测试工具? - 易智编译EaseEditing
前端开发调试和测试工具帮助开发人员在开发过程中发现和修复问题,确保网站或应用的稳定性和性能。以下是一些常用的前端调试和测试工具: 调试工具: 浏览器开发者工具: 现代浏览器(如Chrome、Firefox、Safari等&#…...
智能游戏助手:League Akari如何彻底改变你的英雄联盟体验
智能游戏助手:League Akari如何彻底改变你的英雄联盟体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否曾在英雄选择阶段手…...
从二维到三维:DIY LED视频立方体构建全攻略
1. 项目概述:从平面到立体的视觉革命几年前,当我第一次成功点亮一整面由32x32 RGB LED面板组成的视频墙时,那种由1024个像素点共同编织出的动态画面所带来的震撼,至今记忆犹新。但作为一个热衷于将技术推向边界的创作者࿰…...
AI控制协议标准(ACPS):构建智能体与工具交互的通用语言
1. 项目概述与核心价值最近在开源社区里,一个名为“AI-Control-Protocol-Standard”的项目引起了我的注意。这个由DaibinThink发起的项目,名字听起来就很有分量——“AI控制协议标准”。乍一看,你可能觉得这又是一个关于AI模型如何被调用的技…...
2026产品经理学数据分析对升职的价值
一、数据分析能力对产品经理升职的重要性数据分析能力已成为产品经理的核心竞争力之一。掌握数据分析技能可以帮助产品经理更精准地决策,提升产品成功率,从而在职业发展中占据优势。二、数据分析在产品经理工作中的具体应用通过数据分析优化产品功能迭代…...
终极指南:如何在英雄联盟国服免费解锁所有皮肤?R3nzSkin国服特供版完全解析
终极指南:如何在英雄联盟国服免费解锁所有皮肤?R3nzSkin国服特供版完全解析 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 还在…...
开源监控自动化平台openclaw-lighthouse:从告警到自愈的智能运维实践
1. 项目概述:一个开源的“灯塔”式监控与自动化平台最近在梳理团队内部的监控和自动化工具链时,发现了一个挺有意思的开源项目,叫openclaw-lighthouse。这个名字本身就很有画面感,“openclaw”是开放的爪子,象征着抓取…...
Gitee领跑本土化开发体验:深度解析国内代码托管平台的选择之道
在数字化转型浪潮中,代码托管平台已成为开发者团队不可或缺的基础设施。国内市场经过多年发展,已经从单一的海外平台依赖,逐步形成了多元化的平台选择生态。其中,Gitee凭借其本土化优势脱颖而出,成为众多国内开发团队的…...
为什么7-Zip-zstd让我的压缩效率提升了3倍?
为什么7-Zip-zstd让我的压缩效率提升了3倍? 【免费下载链接】7-Zip-zstd 7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard 项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd 你是否曾经面对一个巨大的项目备份文件&…...
WELearn网课助手:5分钟告别熬夜刷课,实现高效学习自由的终极指南
WELearn网课助手:5分钟告别熬夜刷课,实现高效学习自由的终极指南 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案;支持班级测试;自动答题;刷时长;基于生成式AI(ChatGPT)的答案生成 项目地址…...
2026年好用的录音转文字工具怎么选?从链接提取到实时转写的完整方案
做会议记录、课堂笔记或内容创作时,经常卡在两个问题上:一是录音文件堆积成山不知道从何整理,二是转完文字还要花时间校对和调整。微信里有个叫提词匠的小程序在这类需求里效率比较实用,下面会重点拆解它怎么用,同时也…...
