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

面试过程

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

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

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

相关推荐
丁总学Java17 分钟前
微信小程序-npm支持-如何使用npm包
前端·微信小程序·npm·node.js
懒羊羊大王呀28 分钟前
CSS——属性值计算
前端·css
无咎.lsy1 小时前
vue之vuex的使用及举例
前端·javascript·vue.js
fishmemory7sec1 小时前
Electron 主进程与渲染进程、预加载preload.js
前端·javascript·electron
fishmemory7sec1 小时前
Electron 使⽤ electron-builder 打包应用
前端·javascript·electron
豆豆2 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
twins35203 小时前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
qiyi.sky3 小时前
JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
前端·javascript·vue.js
煸橙干儿~~3 小时前
分析JS Crash(进程崩溃)
java·前端·javascript
安冬的码畜日常3 小时前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺