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

面试过程

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

拿到面试机会,是在地铁上投递了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中也有合适的包,可以直接用。但是当时就被一句正则给限制住了,也被分享屏幕给限制住了。下次一定还是要坚持自己,不要被别人左右思想,哪怕他是面试官。

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

相关推荐
IT_陈寒3 分钟前
SpringBoot 3.x 中被低估的10个隐藏特性,让你的开发效率提升50%
前端·人工智能·后端
卡奥斯开源社区官方5 分钟前
2025 实战指南:WebAssembly 重塑云原生开发 —— 从前端加速到后端革命的全栈落地
前端·云原生·wasm
excel12 分钟前
微信小程序插件从发布到使用的完整实战指南
前端
C# 学习者15 分钟前
C# 为异步函数实现WaitAsync方法
java·前端·c#
逆风优雅25 分钟前
vue 实现自定义message 全局提示
前端·javascript·vue.js
艾小码28 分钟前
前端开发者必看!JavaScript这些坑我替你踩过了
前端·javascript
浮游本尊28 分钟前
React 18.x 学习计划 - 第六天:React路由和导航
前端·学习·react.js
fruge3 小时前
Vue项目中的Electron桌面应用开发实践指南
前端·vue.js·electron
漂流瓶jz9 小时前
Webpack中各种devtool配置的含义与SourceMap生成逻辑
前端·javascript·webpack
前端架构师-老李9 小时前
React 中 useCallback 的基本使用和原理解析
前端·react.js·前端框架