前端 社招 面筋分享:前端两年都问些啥 ❓️❓️❓️

个人背景

末流211本,工作年限近两年,2023年毕业,主要技术栈为:vue

深圳xx中长-前端一面

  1. 针对单个文件上传如何知道上传进度?
  2. 分块是如何进行分的,根据什么来进行分的,分的是依赖还是 chunk
  3. 按需引入的背后逻辑是什么?
  4. 那单入口它你刚刚说的那个引用次数你知道指的是什么吗?
  5. resolve 有几种模式,几种方法
  6. 移动端适配的方式有几种
  7. 你会更推荐使用 vw 还是 rem
  8. webpack 的 loader 的机制是什么?
  9. webpack 使用的是什么模块?AMD、UMD
  10. webpack 的插件系统是什么?
  11. 前端动画实现的方式主要有哪几种?
  12. 如何判断是否为可迭代对象
  13. 如何将可迭代对象转为数组
  14. watch 调用了多少次
  15. 回答下列的值:
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是什么?

<需要看新机会的>

顺便吆喝一句,技术大厂,待遇之类的给的还可以,就是偶尔有加班(放心,加班有加班费)

前、后端/测试,多地有空位,感兴趣的可以戳机会~~​

数字马力-前端一面

  1. tailwindcss 的优势在哪里?
  2. scss 与 less 的区别,scss 对比与 less 的优势有哪些?
  3. 对函数式编程的理解,你还理解其他的编程范式吗?面向对象编程范式
  4. 常用的数组 API
  5. 数组去重对象,将重复的 id 进行一个去重
  6. for 循环实现 reduce
  7. 说说你对 Promise 的理解,它的 API、它的实现原理
  8. webpack 构建打包优化,你在项目中都做了什么?
  9. 单点登录 SSO,你主要做了什么,怎么样实现了单点登录
  10. vue3 中是如何使用 proxy 来进行代理的?
  11. vue3 对比 vue2 做了哪些东西,为什么要做这些东西?
  12. 说说你知道的 React

京东-前端一面

  1. 针对 xxx 项目你是遇到了什么问题,如何进行优化的,针对于 webpack 打包这一点
  2. 虚拟列表是如何实现的?自己做虚拟列表主要是做了哪些工作
  3. webpack 文件压缩,到底是压缩掉了什么内容?
  4. 大文件文本上传是如何设计的?
  5. web worker 和主线程之间的交互是怎么实现的?
  6. postMessage 如何区分是 iframe 还是 web worker 发的消息
  7. 如何区分不同脚本的 web workder 的传递过来的消息
  8. 代码规范,大致说说,项目中关注了哪些点
  9. 提交信息如何限制的?
  10. 不使用提交脚本,而是继续使用 git commit,你这块是做什么限制的
  11. 新成员变量命名、风格不规范,你会怎么处理的?
  12. 如何在代码编写时如何给予他人提示?
  13. 如何没有装这些插件时,那该如何限制呢?
  14. JWT Token 是如何应用,在 axios 二次封装中
  15. 刷新页面,如何获取 Token,这些 Token 放置在哪儿呢?
  16. 如何区分项目中不同的环境
  17. 网络请求 301 和 302 代表什么意义?
  18. 401 状态是什么含义?
  19. HTTP1.1 和 HTTP2 之间有什么不同?
  20. 简洁介绍一下你简历中写的开源项目
  21. 公共的函数或方法是如何发到 npm 包
  22. 如何修改外部依赖源代码
  23. 需求:写一个函数,入参数是一个数组,你需要返回一个乱序的数组?说两种,为什么不推荐从前往后,而是采用从后往前
  24. 生成索引不重复,如何实现的
  25. 如何实现垂直居中?translate 与 margin 来偏移又何不同
  26. 如何实现加载中?

百度-前端一面

  1. 说说你对闭包的理解
  2. 闭包的实际场景有哪些?
  3. 说说防抖和节流
  4. 说说原型和原型链
  5. 说说继承,有几种继承
  6. class 继承相对于那种继承?调用 super 的原因是什么?
  7. 说说事件循环
  8. 说说 Promise 与 await 的区别
  9. 说说 vue2 与 vue3 之间的区别
  10. vue2 中如何实现对数组的一个操作
  11. 箭头函数和普通函数的区别
  12. 箭头函数中的 this 指向
  13. 一道代码执行顺序题:就是 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

全部评论
哇,你分享的这些问题真是满满的都是前端知识点呢!看来你已经准备得很充分了呀~👍 我是小牛AI牛可乐,虽然我还小,但是我也想跟你一起探讨这些有趣的前端话题呢!如果你想要更深入地聊聊,可以戳戳我的头像,咱们私信聊吧!😉 1. 对于单个文件上传进度,你可以通过XMLHttpRequest的`upload`对象的`progress`事件来获取进度信息哦。 2. 分块上传通常是根据文件大小来分的,逻辑是根据文件的总大小来决定每个块的大小,然后按需引入。 3. 单入口的引用次数指的是这个模块被其他模块引用的次数,这关系到模块的优化。 关于你问的代码问题: - `try{ Promise.reject(1) }catch(err){ console.log(1) }` 这段代码会打印1,因为`Promise.reject`会立即抛出错误,然后在`catch`块中被捕获。 - `async() => { try{ await Promise.reject(1) }catch(err){ console.log('err',err) } }` 这段代码会打印`err 1`,因为`await`会等待`Promise.reject`的结果,然后在`catch`块中捕获错误。 至于你提到的`Promise.resolve(Promise.reject(1))`和`Promise.reject(Promise.resolve(1))`,前者会返回一个立即被拒绝的`Promise`,后者会返回一个立即解决的`Promise`。 关于`async/await`的原理,它是基于Promise的语法糖,使得异步代码看起来更像是同步代码。 至于`yield/generage`转为ES5,涉及到将生成器函数转换为使用回调函数的方式来实现。 关于工作机会,听起来是个不错的机会呢!如果你有兴趣,点击我的头像,我们可以私信聊聊更多细节哦!😉 如果你有任何其他问题或者想要继续讨论,记得戳我头像哦,小牛在这里等你~🐮💬
点赞 回复 分享
发布于 03-20 14:28 AI生成

相关推荐

04-22 13:01
已编辑
安徽大学 后端
自己的背景&nbsp;211&nbsp;计算机科班硕,学院本,近半年的实习经历,独角兽公司,国企,互联网大厂都待过。自己的感受是现在互联网校招的面试难度已经是社招三年的难度,人太多,池子太小,行业发展见顶。面试很多奇怪的问题,源码的考察,让人有点摸不着头脑,不知道想要考察什么,纯粹就是想提高难度,一个环节表现不好就丧失机会,机械记忆不好的我准备起来挺费力的。但是实际上内部的大部分员工连最基本的变量的命名、测试用例、注释和文档都不好好写,代码的可维护性变得越来越低,捏着鼻子在屎山中修改代码,使用各种技术手段验证功能正确,并保证不会出现新的问题,代码的熵随着时间的推移变得越来越大,维护花费的时间变得越来越多,每天填坑,改代码,心力憔悴。很多工程师唯一的护城河估计就是对当前业务的理解,写的可读性非常差的代码让他的替代性变低,真是可悲。前几天在抖音和一个大厂出来的前辈连麦聊天,前辈毕业后&nbsp;2012&nbsp;年就进入搜狐,后面去了百度,一路从&nbsp;Java&nbsp;工程师晋升到架构师到业务主管,回到二线城市后根本找不到合适的工作,只能做独立开发,自己去打广告接单子,技术很扎实,后端,前端,简单的&nbsp;AI&nbsp;都可以独立搞定,建议研究生毕业后不要再去卷&nbsp;CRUD&nbsp;了,实话说看到前辈如此心里面很不是滋味,当年的互联网是多么风光无限,有技术的人都是被高薪抢着要的,又感慨市场规律的客观性,不以个人意志转移。IT&nbsp;行业,客观来说竞争大,淘汰率高,智力密度极高,其中大部分的市场份额还被通信运营商拿走了,留给互联网行业的大概只有&nbsp;4000&nbsp;亿美金,这里面的大头又被&nbsp;Google、Facebook、腾讯和阿里巴巴等头部大厂拿走了,马太效应非常明显的行业。好的职业具备哪些特征?吴军老师(原&nbsp;Google&nbsp;高级研究员,腾讯副总裁,现投资人)给出下面几个特点:首先,随着你的工作时间越长,现金流要越来越多。其次,利润率要高,而且最好不要动不动有追加投资,它会吃光收入和利润,让最终白忙活一场。再次,无论在哪个行业,要有核心竞争力。最后,要有稳定现金流的工作,大多和经济周期无关。为什么说码农不是一个好的工作?因为&nbsp;IT&nbsp;行业受摩尔定律的影响,每&nbsp;18&nbsp;个月硬件的成本就会降低一半,相同的硬件成本的性能越高,能够跑的软件就越复杂,软件就可以不断地升级实现更复杂的功能,那么程序员就需要不断地学习,程序员年纪越大,精力就跟不上,自然就被淘汰了。现在随着&nbsp;Cursor&nbsp;AI&nbsp;IDE&nbsp;的出现,编程已经不是什么稀缺技能了,估计很快就像英语一样成为一个基本能力,除非你能够成为顶尖高手,只是&nbsp;CRUD&nbsp;简单的逻辑&nbsp;AI&nbsp;可以做的更好。希望这个行业的前辈多考察候选人作为一个职业软件工程师具备的能力(行为面试法从过去的行为推断未来的行为,软件工程素养,工作习惯,逻辑能力,沟通能力,责任心,计算机基础,不会写出复杂度高局部性很差的代码,能够持续学习的能力,筛选出真正有能力有潜力在这个行业发展的同学),而不是考察各种奇怪的问题和源码进行服从性测试。在工作中多一些耐心,做一些真正有意义有价值的事情,不断的积累实现可叠加的进步。希望行业内多一些&nbsp;DeepSeek&nbsp;这样的公司,引领整个行业进步,让盘子越做越大,而不是零和竞争。希望想要进入这个行业的同学,仔细斟酌,如果想要赚钱,其他的行业的市场更大,发展前景更好,人才密度更低,更有机会做出一些成就,不要被短期的利益和头部的曝光效应迷失了方向,浪费了几年的青春。#腾讯##阿里##字节##百度##美团##如果再来一次,你还会选择这个工作吗?#
点赞 评论 收藏
分享
评论
6
21
分享

创作者周榜

更多
牛客网
牛客企业服务