滴滴 前端

滴滴 9.26 一面

  1. 自我介绍
  2. 项目简单介绍
  3. 拷打CDN相关知识:cdn是什么、cdn如果命中失败怎么办、cdn如何保证缓存的一致性、cdn是如何进行文件一致性的对比、(webpack打包之后生成的hash值)、等等
  4. 事件循环:同步任务、异步微任务、异步宏任务
  5. 事件循环的一个题
async function a (){
    console.log(1)
    await console.log(2)
    await console.log(3)
    console.log(4)
}
a()
new Promise(function(resolve,reject){
    console.log(5)
    resolve(6)
}).then((res)=>{
    console.log(res)
})
setTimeout(()=>{
    console.log(7)
})
console.log(8)
// 1 2 5 8 3 6 4 7
  1. 闭包是什么?
  2. forEach和map的区别
  3. 跨域是什么?相关的解决方案
  4. http状态码
  5. cookie和localStorage的区别
  6. localStorage是由容量大小限制的,如何对输入的字符串进行判断,对大小进行处理
  7. 1mb可以存储多长的字符串(假设一个字符占2个字节)
  8. 高阶组件是什么?它的作用是什么?
  9. tcp三次握手
  10. 浏览器对tcp的连接次数是否有限制?http1.0 http1.1的tcp连接次数有无限制
  11. 反问:部门相关技术栈等

滴滴 9.26 二面

  1. 自我介绍
  2. 为什么学习前端?为什么对前端感兴趣
  3. 闲聊一些乱七八糟的
  4. react的hook为什么要进行引入
  5. react和vue的区别
  6. webpack和vite的区别
  7. webpack的解析流程,loader……
  8. 求一个数组的组合数
  9. 反问:业务等相关问题

结果:已经挂了,其实我一面完就觉得我应该要挂,结果还让我进了二面,燃起了希望呜呜呜

#滴滴##我的失利项目复盘##前端##工作##牛客在线求职答疑中心#
全部评论
你好呀,我是牛可乐,一只可爱的AI牛。 首先,感谢你的分享,让我了解到你的面试经历。从你的描述来看,你的面试过程涉及到了很多前端相关的知识,包括CDN、事件循环、闭包、跨域、高阶组件等。 对于CDN,它是一种内容分发网络,用于加速网站的访问速度。当CDN命中失败时,通常会从源站获取资源。为了保证缓存的一致性,CDN通常会使用文件哈希值来对比文件的变化。 事件循环是JavaScript处理异步任务的一种机制。它包括同步任务、异步微任务和异步宏任务。你的题目中,`a()`函数是一个异步函数,所以`await console.log(2)`和`await console.log(3)`会被放入异步微任务队列,而`console.log(4)`会被放入同步任务队列。因此,输出顺序为:1、2、5、8、3、6、4、7。 闭包是指在一个函数内部定义的函数,它可以访问外部函数的变量。`forEach()`和`map()`都是JavaScript中的数组方法,但它们的作用不同。`forEach()`用于遍历数组,而`map()`用于创建一个新的数组,其中包含对原始数组元素进行某种操作后的结果。 跨域是指在浏览器中,由于同源策略的限制,不同域名之间的资源无法相互访问。常见的解决方案包括CORS、JSONP和WebSocket等。 cookie和localStorage都是浏览器的本地存储方式,但它们的存储大小和生命周期不同。cookie的存储大小通常较小,且在浏览器关闭时会被清除;而localStorage的存储大小较大,且在浏览器关闭后仍会保留。 高阶组件是一种React组件,它接受一个组件作为参数,返回一个新的组件。它的作用是封装通用的逻辑,提高代码的可重用性和可维护性。 webpack和vite都是前端构建工具,它们的主要区别在于打包方式和速度。webpack需要先打包,然后再启动开发服务器;而vite则不需要打包,可以直接启动开发服务器。 对于TCP三次握手,它是一种建立TCP连接的方式,包括客户端发送SYN包、服务器发送SYN+ACK包和客户端发送ACK包。浏览器对TCP的连接次数没有限制,但HTTP1.0和HTTP1.1的TCP连接次数有限制。 最后,对于你的反问,我建议你可以询问关于
1 回复 分享
发布于 2023-10-12 14:53 AI生成
2应该是异步函数,我感觉不应该接着输出😂
点赞 回复 分享
发布于 2023-10-25 02:40 陕西
佬那个输出题能解释一下吗
点赞 回复 分享
发布于 2023-10-24 22:47 山东
佬,啥部门呀
点赞 回复 分享
发布于 2023-10-12 15:52 重庆

相关推荐

2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
累死的一条狗:一个去北极一个去南极谢谢
点赞 评论 收藏
分享
评论
7
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务