暑期实习前端面试题汇总

102 阅读6分钟
  • HTML

    1. 如何避免重绘、重排?为何可以避免?
    2. JS如何把渲染树实现到屏幕上?
    3. web安全问题有哪些?如何防范?
    4. 一个完整URL包含哪些部分?
    5. 为何浏览器不渲染scss less,只渲染css?
    6. SSR渲染?
    7. DOM树和CSSOM树如何实现相同节点匹配?
    8. async和defer的区别?
    9. meta有哪些属性
    10. 常见的状态码?
    11. websocket?
    12. 说一下强缓存和协商缓存?有哪些标志?
    13. 浏览器哪些强制缓存、哪些协商缓存、哪些不能缓存?
    14. 请求头里有什么?
    15. put请求和post请求有哪些?
  • CSS

    1. scss、less的对比,他们和css相比的优势?
    2. 有哪些盒模型?
    3. 你的项目中用到了哪些布局方式?
    4. flex属性有哪些?
    5. 选择器+ 和 ~de 区别?
    6. 点击弹窗,下层的遮罩层如何全部遮住页面
    7. 有哪些居中方法?你的项目中用到了哪些?
    8. 固定页面除了fixed还有什么?(项目)
    9. position的属性有哪些?各自相对于什么定位?
    10. 如何开发多端适配的页面?
    11. 如何已经开发了一个确定的模型,如何适配另一个设备?
    12. 百分比宽度计算锚定的什么元素?父元素无宽度又是什么?
    13. 百分比和rem单位如何转换?每一处都要转化如何优化?
    14. 多个css样式?如何实现确定的渲染?(css选择器优先级)
    15. css有哪些动画实现方式?
    16. 了解高度塌陷吗?如何避免?追问:为何可以避免?
    17. BFC 如何触发
    18. 用动画实现1s内的div块旋转360°,扩大两倍?
  • JS

    1. 如何判断对象是数组
    2. typeof instance区别?
    3. js精度问题?0.1+0.2!==0.3?如何解决?
    4. js何时用双等号和三等号
    5. 原型上的instance如何判断?
    6. 如何实现一个比较完备的类型判断?
    7. 数组有哪些操作?ES6中新增了哪些?
    8. 字符串有哪些操作?
    9. 多条数据如何同时请求?/如何每隔一定时间请求50条数据?
    10. 如何向后端发送请求?
    11. Restful API
    12. 有哪些请求?
    13. 说一下有哪些异步请求?
    14. Promise为何能链式调用?
    15. 如何自己实现一个promise?
    16. Promise.all和Promise.race和Promise.any和Promise.allSeclect区别?
    17. ES6新增语法?
    18. 如何避免var的变量提升?
    19. 如何实现Promise.all?
    20. JS的数据类型有哪些?
    21. weakMap和map区别?
    22. 说一下proxy?
    23. 实现数组展平、去重
    24. 什么是防抖和节流,防抖节流如何实现?如何实现第一次立即执行的节流函数?
    25. 实现深拷贝?有哪些边界条件?
    26. 哪些函数是深拷贝?
    27. 哈希数据结构?
    28. 栈和队列的区别?
    29. 数组和链表的区别?
    30. map和数组,set和对象的区别?
    31. 什么是事件循环?
    32. 宏任务微任务有哪些?
    33. 闭包
    34. 如何实现跨域?
    35. 对象和数组存储方式?
    36. 用const声明的对象,数组为何可以增删?
    37. 继承的方式有哪些?
    38. 内存泄漏和内存溢出有什么区别?
    39. 讲一下垃圾回收,V8引擎的新方法?
    40. 栈垃圾和堆垃圾区别?
    41. 箭头函数和普通函数区别?
    42. 讲一下this的指向问题?
    43. 前端异步操作有哪些方案?
    44. 你用过哪些dom操作?
    45. 在ES5中如何实现的异步请求?es6中的新方式转成了es5中的什么?
    46. 看代码说输出1.宏任务微任务
    47. 看代码说输出2.循环+作用域(函数、var/let)
    48. 看代码说输出3.作用域+this,对象或函数返回里有函数
    49. 手撕总结:深浅拷贝、sleep函数、类型判断、订阅发布模式、防抖节流
    50. js相关算法:柯里化、展平去重、全排列(去重)、版本比较、正则匹配、输出时间区间中的有效日期、将html字符串变成dom对象树、js 对一个十进制的10位数,保证数字顺序并取出3位,使得余下的数字最小
  • React

    1. react15-18的区别,新增了什么?
    2. react18的协调器如何设置优先级的?
    3. react的事件?(合成事件)
    4. 合成时间、原生事件、dom操作等冒泡机制下的顺序?
    5. fiber机制
    6. 你用过哪些hooks?
    7. 可以在循环或者条件判断语句中使用setState()吗?
    8. 了解useLayoutEffect吗?
    9. react router实现原理?(项目)
    10. 说一下动态路由跳转?在路由跳转中组件生命周期发生了啥?
    11. 类组件和函数组件区别?生命周期区别?
    12. useState useEffect useMemo区别
    13. useState和useEffect底层原理?
    14. 可以直接修改state吗?会修改成功吗?
    15. React的性能优化有哪些?
    16. css in js的优劣势?
    17. 项目中自定义过什么hooks?
    18. 受控组件和非受控组件?用户使用时候的区别?
    19. React的错误捕捉?
    20. 父元素和子元素都绑定一个冒泡和一个捕获事件,点击子元素,事件触达顺序?
    21. 讲一下React.memo,追问:用它包裹子组件,父子传递props,如果父组件卸载了,子组件会怎么样?
    22. 讲一下懒加载?
    23. 讲一下你了解哪些状态管理库?
    24. 讲一下react redux?
    25. 如何缓存数组和函数?
    26. 如何实现双向绑定?比如监听数组变化?
    27. 说一下diff算法?index做key的后果?
    28. 用过哪些高阶组件?
  • 计网

    1. http和https?
    2. TCP UDP区别?
    3. http1 http2区别
    4. 拥塞控制讲一下?
    5. 讲一下TCP?
    6. tcp为何要三次握手和四次挥手,不能二次?
    7. 进程、线程?
    8. 七层模型和五层模型?
    9. 各层协议?
  • TS

    1. interface 和 type 区别?应用场景?
    2. TS用法和JS的区别?
    3. 如何实现ts的函数
    4. any 和 T的区别
    5. 枚举类型?
  • 综合问题

    1. 从输入网址到页面展示的过程?
    2. 前端相关设计模式?你用过哪些?
    3. 如何自己实现一个轮播图?
    4. 如何做登陆验证?(三件套)(项目)怎么判断登录成功等操作的,相关数据存在哪里?
    5. 多层页面,且有很多按钮,如何埋点记录信息且发送到后端?
    6. 如何实现秒杀?
    7. 出现白屏怎么办?
    8. 对于项目中的图片格式,如何去进行格式抉择的?(多图站点性能优化)
    9. 实现一个秒杀?并且考虑如何知道出现在视口中才能出现相关功能?
  • 工程化问题

    1. webpack构建流程?
    2. loder和plugin的区别?
    3. 说一下常用的plugin?
    4. 解析less的步骤?
    5. 如果想把所有css单独抽取到一个文件,怎么实现?
    6. git merge和git rebase区别?
    7. git pull 和 git fetch区别?
    8. git的回滚操作?
    9. 常用哪些git操作
    10. git删除或者合并后还能找到之前的版本吗