前端 社招 面筋分享:前端两年都问些啥 ❓️❓️❓️
个人背景
末流211本,工作年限近两年,2023年毕业,主要技术栈为:vue
深圳xx中长-前端一面
- 针对单个文件上传如何知道上传进度?
- 分块是如何进行分的,根据什么来进行分的,分的是依赖还是 chunk
- 按需引入的背后逻辑是什么?
- 那单入口它你刚刚说的那个引用次数你知道指的是什么吗?
- resolve 有几种模式,几种方法
- 移动端适配的方式有几种
- 你会更推荐使用 vw 还是 rem
- webpack 的 loader 的机制是什么?
- webpack 使用的是什么模块?AMD、UMD
- webpack 的插件系统是什么?
- 前端动画实现的方式主要有哪几种?
- 如何判断是否为可迭代对象
- 如何将可迭代对象转为数组
- watch 调用了多少次
- 回答下列的值:
try{ Promise.reject(1) }catch(err){ console.log(1) }
16. 回答下列的值:
async()=>{ try{ await Promise.reject(1) }catch(err){ console.log('err',err) } }
17. 回答下列的值
Promise.resolve(Promse.reject(1)) Promise.reject(Promse.resolve(1))
18. async/await 底层实现的原理是什么?19. yeild/generage转为ES5是什么?
<需要看新机会的>
顺便吆喝一句,技术大厂,待遇之类的给的还可以,就是偶尔有加班(放心,加班有加班费)
前、后端/测试,多地有空位,感兴趣的可以戳机会~~
数字马力-前端一面
- tailwindcss 的优势在哪里?
- scss 与 less 的区别,scss 对比与 less 的优势有哪些?
- 对函数式编程的理解,你还理解其他的编程范式吗?面向对象编程范式
- 常用的数组 API
- 数组去重对象,将重复的 id 进行一个去重
- for 循环实现 reduce
- 说说你对 Promise 的理解,它的 API、它的实现原理
- webpack 构建打包优化,你在项目中都做了什么?
- 单点登录 SSO,你主要做了什么,怎么样实现了单点登录
- vue3 中是如何使用 proxy 来进行代理的?
- vue3 对比 vue2 做了哪些东西,为什么要做这些东西?
- 说说你知道的 React
京东-前端一面
- 针对 xxx 项目你是遇到了什么问题,如何进行优化的,针对于 webpack 打包这一点
- 虚拟列表是如何实现的?自己做虚拟列表主要是做了哪些工作
- webpack 文件压缩,到底是压缩掉了什么内容?
- 大文件文本上传是如何设计的?
- web worker 和主线程之间的交互是怎么实现的?
- postMessage 如何区分是 iframe 还是 web worker 发的消息
- 如何区分不同脚本的 web workder 的传递过来的消息
- 代码规范,大致说说,项目中关注了哪些点
- 提交信息如何限制的?
- 不使用提交脚本,而是继续使用 git commit,你这块是做什么限制的
- 新成员变量命名、风格不规范,你会怎么处理的?
- 如何在代码编写时如何给予他人提示?
- 如何没有装这些插件时,那该如何限制呢?
- JWT Token 是如何应用,在 axios 二次封装中
- 刷新页面,如何获取 Token,这些 Token 放置在哪儿呢?
- 如何区分项目中不同的环境
- 网络请求 301 和 302 代表什么意义?
- 401 状态是什么含义?
- HTTP1.1 和 HTTP2 之间有什么不同?
- 简洁介绍一下你简历中写的开源项目
- 公共的函数或方法是如何发到 npm 包
- 如何修改外部依赖源代码
- 需求:写一个函数,入参数是一个数组,你需要返回一个乱序的数组?说两种,为什么不推荐从前往后,而是采用从后往前
- 生成索引不重复,如何实现的
- 如何实现垂直居中?translate 与 margin 来偏移又何不同
- 如何实现加载中?
百度-前端一面
- 说说你对闭包的理解
- 闭包的实际场景有哪些?
- 说说防抖和节流
- 说说原型和原型链
- 说说继承,有几种继承
- class 继承相对于那种继承?调用 super 的原因是什么?
- 说说事件循环
- 说说 Promise 与 await 的区别
- 说说 vue2 与 vue3 之间的区别
- vue2 中如何实现对数组的一个操作
- 箭头函数和普通函数的区别
- 箭头函数中的 this 指向
- 一道代码执行顺序题:就是 promise 异步同步宏任务微任务哪些
console.log('script start') async function fun1(){ await fun2() console.log('async1') } async function fun2(){ console.log('async2') } fun1() setTimeout(()=>{ console.log('setTimeout') },0) new Promise((resolve)=>{ console.log('promise1') resolve() }).then(()=>{ console.log('promise2') }).then(()=>{ console.log('promise3') }) console.log('script end')
——转载自作者:Moment