阿里钉钉前端从一到hr 已OC

ps. 没有录音,勉强回忆了一些
(所有面试都是钉钉视频)

一面

1h30min

  1. vue的基本原理,双向绑定、diff算法、模版引擎具体讲一讲
  2. 脏数据劫持讲一下
  3. Promise状态,宏任务、微任务
  4. 闭包定义,使用场景
  5. 事件触发机制、事件代理
  6. 跨域是什么,有哪些解决方法讲一下
  7. 浏览器缓存机制
  8. XSS和CSRF是什么,如何防御
  9. webpack用过吗,有哪些优化
  10. 项目里用过哪些优化,具体怎么做的
  11. 水平垂直居中有哪些方法
  12. http和https讲一下,加密过程
  13. 反问

算法:
1.版本号判断

function compareVersion(version1, version2){
  if(!version1 || !version2){
    throw new Error("Version is null!");
  }
  if(typeof version1 !== "string" || typeof version2 !== "string"){
    throw new Error("Version is null!");
  }
  let arr1 = version1.trim().split(".");
  let arr2 = version2.trim().split(".");

  let diff = arr1.length - arr2.length;
  function getZero(diff, arr){
    for(let j = 0; j < diff; j++){
      arr.push("0");
    }
  }
  diff > 0 ? getZero(diff, arr2) : getZero(diff,arr1);

  for(var i = 0; i < arr1.length; i++){
    if(Number(arr1[i]) > Number(arr2[i])) return 1;
    else if(Number(arr1[i]) < Number(arr2[i])) return -1;
    else continue;
  }
  return 0;
}
  1. 快排

  2. 数组去重

  3. 深拷贝

    function deepClone4(target, map=new Map()) {
     if(target && typeof target === "object" && target.constructor !== RegExp){
         let cache = map.get(target);
         if(cache) return cache;
    
         let isArray = Array.isArray(target);
         let res = isArray ? [] : {};
         map.set(target, res);
    
         if(isArray){
             target.forEach((item, index) => {
                 res[index] = deepClone4(item, map);
             })
         } else {
             Object.keys(target).forEach(key => {
                 res[key] = deepClone4(target[key], map);
             })
         }
         return res;
     }
    
     return target;
    }

二面

50min

  1. 自我介绍
  2. 讲一下做过的项目,哪些技术栈
  3. 项目中担任什么角色,有什么亮点、难点,怎么处理困难
  4. 小插件如何实现,组件通信怎么做的,有哪些方法
  5. 比赛中担任什么角色,做了什么,怎么做的,学了什么
  6. 未来什么计划
  7. 反问

三面

50min

  1. 自我介绍
  2. 具体讲一下项目,哪些技术栈
  3. 项目中有什么优化
  4. webpack底层原理了解吗
  5. 前端路由原理
  6. 反问
    (三面真的有点忘了。。。)

四面

35min

  1. 自我介绍
  2. 为什么选择前端,有什么打算
  3. 前端主流有什么技术,react与vue有什么区别,哪些工程react好
  4. ts学了什么,以后会关注什么,怎么去学习
  5. 项目中node做了什么,还会node什么
  6. 开放题:扫码登陆怎么实现的,前后端具体讲一下,技术细节说一下
  7. 轮询和websocket有什么区别
  8. 说一下你所了解的钉钉
  9. 反问

hr面

25min
小姐姐很友善,整个面试像聊天一样,开场聊了聊我的寝室,单人间很大很爽

  1. 自我介绍
  2. 拿了什么奖学金,有什么要求
  3. 参加了这么多比赛,跟专业相关吗,为什么参加呢
  4. 项目具体做了什么呢,成果怎么样
  5. 前一段实习做了什么
  6. 未来有什么打算,老家是哪的,杭州能来吗
  7. 钉钉的业务了解吗
  8. 还有什么问题吗

整个面试流程很快,一周就走完了(虽然中间发生了一些事)

三天后就收到了意向书,暂时没有正式offer

不过,至少心里有了底了

希望最后能去杭州,也祝愿牛客的大家能拿到理想的offer!

#前端工程师##实习##面经##阿里巴巴#
全部评论
好厉害呀
点赞
送花
回复
分享
发布于 2021-03-27 23:05
钉钉竟然有5面么
点赞
送花
回复
分享
发布于 2021-03-28 03:18
秋招专场
校招火热招聘中
官网直投
算法写得挺规范啊老弟
点赞
送花
回复
分享
发布于 2021-03-30 01:05
终面和hr面隔了多久呢 lou zhu
点赞
送花
回复
分享
发布于 2021-04-02 03:23
面试写算法是用啥平台呀~
点赞
送花
回复
分享
发布于 2021-04-04 00:01
同钉钉前端,为啥我就两面技术面...
点赞
送花
回复
分享
发布于 2021-04-04 06:47
我菜鸟的,伯乐系统让我手写级联选择器😂
点赞
送花
回复
分享
发布于 2021-04-18 07:46
hr面到发offer要隔多久啊😆很慌
点赞
送花
回复
分享
发布于 2021-04-29 18:28
二三面大概隔了多久啊
点赞
送花
回复
分享
发布于 2023-04-14 09:33 安徽

相关推荐

点赞 评论 收藏
转发
13 74 评论
分享
牛客网
牛客企业服务