滴滴前端一面面经(已挂)

面试过程

前段时间面试了滴滴的前端实习岗位,大厂的面试机会很难得,复习了很多前端知识。

拿到面试机会,是在地铁上投递了boss,当时hr看了我的简历就和我约了第二天的面试。电脑也没带,晚上就用手机复习了前端的一些八股。

没想到的是,一面就挂掉,而且前端上升到开发的问题几乎没问。

一开始的时候,面试官让我简单介绍,随后就是一个看代码说答案的题目。考察的是var、let、const的用法。

这个题目他跟我说了多个情况,面试完之后也没有及时总结,所以就没办法在这里展示完整题目。

接着面试官又看了看我的简历,发现我是软工的,就说要考我算法。十五分钟,手写判断二叉树是否对称。

不出意外,这个题十五分钟弄不出来。然后面试官就问了我MVVM。并且期望问到更多细节。

第四个题目,如下:

他给我的提示是正则,也允许我搜正则相关的知识。

但是当时是共享屏幕敲代码,很慌张,所以搜也没搜到个啥。然后他就给我推了一篇博客,把这道题目的正则给了我,让我写js代码。

这是我写的:

javascript 复制代码
//定义一个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.domain
    console.log('传进去的url判断的片段是', newUrl)

    // 进行判断给出结果
    return newUrl.includes(domain)
}



var subdomain = 'http://fast.didi.com/foo/bar'
var domain = 'didi.com'
isSubdomain(subdomain, domain)

要求十五分钟搞定,但是最后加起来快半个小时了。后面面试官又让我好好看一下基础的东西。不出意外就是挂了。

面试感想

首先,在面试滴滴前,我看了很多前端朋友的面经,我是看到有考八股和项目的。但是我没有遇到。所以当他让我写算法的时候我很慌。但是通过这个面试也看出了大厂注重的是什么,他们会首先看重你对算法的理解,把这些基础的东西敲好,才有可能写好代码。

其次,面试期间,我从大概第二题的时候就已经共享屏幕了。就导致我很慌。而且面试期间面试官在我写代码的时候不知道为什么笑了好几次,笑出声了。就,很搞我心态。其实面试应该相信自己一点,面不上也没什么,脸皮厚一点,没必要那么紧张。

第三点就是,最后一个题目,其实有更简单的方法:Node.js中也有合适的包,可以直接用。但是当时就被一句正则给限制住了,也被分享屏幕给限制住了。下次一定还是要坚持自己,不要被别人左右思想,哪怕他是面试官。

总之,加油啦,期望秋招能有个好的结果!!!

相关推荐
子兮曰5 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭5 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路7 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒9 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol10 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉10 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau10 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生10 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼10 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君8799710 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter