美团实习面试总结

374 阅读3分钟

2021.3.23下午三点到四点

1.IOS七层
2.tcp udp
3..js数据类型
4.状态码
5.get post
6.缓存
7.盒子模型
8.flex
9.堆和栈的区别
10.深拷贝的时候如何避免循环引用
11.垃圾回收
12.120000.11->120,000.11
13.斐波那契
14.git pull get fetch
15.项目如何构建的 webpack
16. 16 17 react区别
17.indexdb 为什么选
18.一个选袜子概率题
19.协调过程
20.mobx的原理
21.项目中的eslint tojs
22.如何实现导出svg

一面总体来说回答的还挺好,作为我人生中第一次面试体验很好。大部分内容都有回答上来,然后面试官也比较温和,12的算法题之前遇到过,但是只写过一次,这次写的时候当着别人面写代码很紧张,写了十分钟才写出来,幸亏面试官小哥哥比较有耐心。


2021.3.25下午七点到八点

1.自我介绍
2.可以实习多久,为什么选成都
3.怎么学习前端的,看过什么书,关注过标准吗
4.项目介绍
5.你参与的工作
6.项目里的bug(点击移动按钮无法移动Path,怎么排查bug)
7.react的类组件和函数组件的区别
8.如何理解纯函数
9.项目里(如果两个小圆点重合了,我如何点击到下面的点)
!可以使用pointer-events:none;让这个元素被穿透

10.为什么选用indexdb做存储,里面存的什么。
11.拖拽怎么实现的
12.项目接下来的进度
13.未来规划
14.反问

二面被认真毒打了一次,自己还是太菜了,被面试官对着项目问,因为给了项目在线演示的链接,所以被试出了Bug(其实Bug挺多的),然后一直在问怎么排查Bug,然后具体场景的实现,这些问题之前没有好好思考过,果然就是我的究极大短板,然后其他的一些比如怎么学习的也没有回答好。再加上面试的时候自己的电脑忽然听不到声音,拿舍友的电脑救急。。。反正回答的很不好吧,很可能没有之后的了。


总结

  • 八股文背的还不错,基础问题目前可以应对。
  • webpack babel ts scss git linux这些一定要补上。
  • 项目的Bug太多,要完善。
  • 算法题看到之后还会紧张,继续写leetcode,并且要重复写,让自己在紧张的状态下也可以写出来。

2021.4.6下午2:00-3:00

一次url的过程 
css js下载执行的过程
defer async 
webpack原理 
热更新原理
项目怎么部署上线的
自己的优缺点
你认为前端负责的任务有哪些
使用过Node吗
登录问题 服务器怎么知道你登陆了
react你知道哪些方面
react和vue区别
工作期间最重要的能力

看代码输出

for (var i = 0; i < 5; i++) {
console.log(i);
}

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i);
  }, 1000 * i);
}


for (var i = 0; i < 5; i++) {
  (function(i) {
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}
for (var i = 0; i < 5; i++) {
  (function() {
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}
for (var i = 0; i < 5; i++) {
  setTimeout((function(i) {
    console.log(i);
  })(i), i * 1000);
}


html
script  1.js
script 2.js


1.js
setTimeout(function() {
  console.log(11)
}, 0);
new Promise(function executor(resolve) {
  console.log(12);
  for( var i=0 ; i<10000 ; i++ ) {
    i == 9999 && resolve();
  }
  console.log(13);
}).then(function() {
  console.log(14);
});
console.log(15);




2.js

setTimeout(function() {
  console.log(21)
}, 0);

new Promise(function executor(resolve) {
  console.log(22);
  for( var i=0 ; i<10000 ; i++ ) {
    i == 9999 && resolve();
  }
  console.log(23);
}).then(function() {
  console.log(24);
});
console.log(25);