小库科技

  1. 系统内存分配
  2. http协议,已经https为什么更安全
  3. 浏览器缓存,哪几部分,协商缓存怎么处理,哪些字段标记
  4. 几个排序算法,哪个时间复杂度低
  5. 面向对象与面向函数的一些区别
  6. setState是同步还是异步,拿不到上下文this则同步
  7. useEffect与useLayoutEffect的区别

雄帝科技

  1. htmld的dir, http-equiv, viewport属性, script的defer,async,
  2. seo的优化处理
  3. DNS的解析过程
  4. 为什么用CDN可以加速?背后过程
  5. 几个http的状态码解释, 200, 304,301或302, 503
  6. 几个Http的response header的属性, access-control-allow-origin``access-control-allow-creadientials``content-security-policy``cache-control
  7. serviceWorker作用,控制台里的performance,memory,security几个作用
  8. 浏览器几个标签打开同一个域名下的网页是否可以共享seesionStorge?
  9. 前端的一些安全攻击类型? xss和csrf如何防御
  10. 怎么实现 a == 1 && a ==2 && a ==3true?
  • 利用等式判定会调用valueoftoString方法里处理
  • 利用defineProperty 劫持 getter处理
  1. 样式隔离的几种方案,vue里面什么属性可以做到样式隔离
  • scope
  1. css里的BFC定义,怎么生成一个BFC
  2. 描述下react里的组件类型以及hooks作用场景
  3. react hook 的useEffect与useMemo的区别
  4. vue里面computed的实现原理

金蝶

  1. react当中useState会遇到什么问题,与useReduce有什么区别,useEffect有什么使用限制,与useRef有什么不同
  2. React hooks 怎么实现获取上一次的Props数据
  3. flex布局原理,内部怎么计算,等宽布局怎么设置
  4. 怎么判断展示dom是否在可视区域内?除了高度属性计算还有什么其他API

电信天翼云

  1. 跨域的问题
  2. node 的 npm run 做了什么处理

伴伴科技

  1. webpack中的model, XXX , XXX怎么配置?
  2. webpack打包多文件怎么配置
  3. 怎么设置等高等宽的div
  4. app内嵌h5的通信方法,原理
  5. 浏览器缓存机制
  6. 首屏加载的优化处理
  7. 多个img等静态资源的懒加载处理
  8. http请求怎么实现

虾皮

  1. vue组件实例化中间哪些过程?
  2. vue中的event bus 原理
  3. 发布订阅模式怎么实现,vue中在哪一步去做了收集处理
  4. vue diff算法过程
  5. vue-router有哪些模式,有什么差异
  6. 为什么使用dva, mobx,出于什么方面考虑
  7. mobx的内部实现,怎么实现通信
  8. 浏览器事件循环描述
  9. 静态资源的缓存优化
  10. http2.0与http1.0差异,证书加密可否仿造
  11. 三道代码题 ```javascript function Foo(){ log = function () { alert(1); }; return this; } Foo.log = function () { alert(2); }; Foo.prototype.log = function () { alert(3); }; var log = function () { alert(4); }; function log(){ alert(5); };

Foo.log();
log();
Foo().log();
log();
new Foo.log();
new Foo().log();

  1. ```javascript
  2. // 实现一个函数a,使其奇数次调用时返回1,偶数次调用时返回2(不能使用全局变量)
  3. // example
  4. a(); // 1
  5. a(); // 2
  6. a(); // 1
  7. a(); // 2
  1. / JS实现一个带并发限制的异步调度器Scheduler,保证同时运行的任务最多有两个。完善代码中Scheduler类,
  2. // 使得以下程序能正确输出
  3. class Scheduler {
  4. add(task) {
  5. }
  6. }
  7. const timeout = (time) => new Promise(resolve => {
  8. setTimeout(resolve, time)
  9. })
  10. const scheduler = new Scheduler()
  11. const addTask = (time, order) => {
  12. scheduler.add(() => timeout(time)).then(() => console.log(order))
  13. }
  14. // 执行
  15. addTask(1000, '1')
  16. addTask(500, '2')
  17. addTask(300, '3')
  18. addTask(400, '4')
  19. // output: 2 3 1 4

乐信

  1. 前端性能优化
  2. 预加载解析优化
  3. 缓存属性设置
  4. 重绘与回流,transform会影响什么

联通广东研究院

  1. react中组件通信方式,redux怎么使用
  2. 微前端的理解
  3. 解释一下原型链
  4. 深拷贝与浅拷贝的区别
  5. webpack的plugin与loader的区别
  6. 页面加载顺序,css会不会影响js与dom的加载