1、自我介绍
2、在介绍的项目中前端用了哪些技术(vue,vuex,axios,elementUI等等)
3、vuex在管理全局状态具体是怎么管理(掰扯actions,mutations)
4、页面如何监听vuex中数据变化(说了一波vue的响应式,computed和watch监听到store变化,走vue响应式流程)
5、Object.defineProperty除了可以设置set,get还可以设置什么(可枚举,可删除)
6、ES6里面有哪些新特性(const,let,forOf,Object.keys,Object.entits,arr数组的新api(reduce,map))
7、什么是高阶函数(参数或返回值是函数)
8、函数的作用域(JavaScript词法作用域)
9、什么叫暂时性死区(忘了,没答出来)
10、JS原型链(扯一下就行)
11、prototype和proto的区别(简单讲了一下)
12、如何判断一个对象是不是某个类创建的(api isPrototypeOf,或者自己写递归)
13、js事件循环(掰扯一波 同步)
14、对react的了解多少(掰扯react和umi)
15、ts用得多吗(用过)
16、typescript可以对已有的类型进行一些变换吗?(我理解错题目了,面试官应该是想问强制类型转换,我去回答type了,还扯了interface和namespace,其实我现在一想就是想问 as关键字或者 <>)
17、一些常用的页面性能优化方法(掰扯cdn、懒加载、负载均衡等等)
18、http状态码 204什么意思(没说出来,我不会,查了一下是成功处理但是没有任何响应内容)
19、http状态码 304什么意思(掰扯一波强制缓存和协商缓存)
到这里 30min,开始算法题
算法一:实现任务调度,传来若干个任务,然后同时执行最多n个,我一脸懵逼,直言我不会,然后直接下一题
算法二:百万级别的乱序数组,找到倒数第n小的数字,我默默关闭webstorm,打开了idea用Java的标准库(优先队列,也就是堆,利用标准库的堆排序)调API给实现了,然后问复杂度,然后问优先队列的复杂度
结果发现还有时间,就重回第一题,把大体框架给我了,写了promise,让我再想想,我观察了一波之后,就说要维护一个正在运行的任务数,然后还是直言不太会
到了反问环节,随便问了一下,就问了技术栈。
OK结束、下机、吃饭
引流:阿里,字节跳动、百度、宁德时代、滴滴、饿了么、抖音、腾讯、腾讯音乐、offer、面试、面经、凉经、emo、腾讯云智、海康威视、奇安信、爱奇艺、快手、淘宝、家人们、前端、后端、大数据、美团、OC、达摩院、唯品会、力扣、薪资、联想、
#牛客解忧铺##我的失利项目复盘##如何判断面试是否凉了##我的实习求职记录#