靠着这份269页前端大厂面试宝典,拿到了京东前端实习offer 小灰灰 2023-01-17 09:20 111阅读 0赞 ![c5b3b6fba5bef5f42cba101acd139207.png][] 本人普通本科2022届毕业生,在今年春招先拿一些中小厂练了练手,之后投了很多大厂,只有靠学长内推的京东收到了面试通知,非常珍惜这次面试机会,刷了很多面试题,功夫不负有人,今天收到了offer。希望能给大家一个借鉴参考。 ### 4.10笔试 ### ### 4.21一面 ### 电话面试,时长25分钟 * 无自我介绍,上来就八股文 * 垂直居中 * cookie和session区别 * 闭包 * 知道ES6中三个点是什么吗,怎么使用(扩展运算符) * 箭头函数 * 浏览器缓存 * http和https * 跨域方法和实现 * TCP和UDP * Vue生命周期 问的太简单的没记住多少,总体比较水,当时我还以为是没有HC了 ### 4.22二面 20分钟 ### * 又是八股文 * 盒子模型 * 数组去重的方法,说了四种 * 深拷贝和浅拷贝的区别 * 如何实现深拷贝 * 怎么判断数据类型,说了三种 * 做了一道简单题,然后用set优化了一下 因为太简单,都不记得了,当时以为他们只是为了刷KPI ### 4.26HR面 ### 都做好被渣的准备了 一共七分钟 * 为什么学前端 * 说说对你影响最深的一段经历 * 看你笔试分特别高,说说心得体会 我说,我还纳闷呢,怎么我分数这么高,面试排这么晚 面试官解释是因为前面流程慢(真的吗?我不信) 到此我依然以为京东只是为了刷KPI,毕竟被他伤害的人太多, 包括我室友 ### 4.28收到京东offer ### 为了准备这次面试刷了很多面试题,并且做了一个整理,分了HTML、css、JavaScript、React、Vue、浏览器、服务端与网络、算法等等… ## HTML ## * html 语义化 * canvas 相关 * svg和canvas的区别? * html5有哪些新特性? * 如何处理HTML5新标签的浏览器兼容问题? * 说说 title 和 alt 属性 * HTML全局属性(global attribute)有哪些 ![a6c4ea3f5a166abd6e82eb207c2ef725.png][] ## CSS ## * 让一个元素水平垂直居中,到底有多少种方案? * 浮动布局的优点?有什么缺点?清除浮动有哪些方式? * 使用display:inline-block会产生什么问题?解决方法? * 布局题:div垂直居中,左右10px,高度始终为宽度一半 * 盒模型 * CSS如何进行品字布局? * CSS如何进行圣杯布局 * CSS如何实现双飞翼布局? * 什么是BFC? * 触发条件 * BFC渲染规则 * 应用场景 … ![a069e0b490ebc98be782b1b9f2c301fa.png][] ## JavaScript ## * JS原始数据类型有哪些?引用数据类型有哪些? * null是对象吗?为什么? * ‘1’.toString()为什么可以调用? * 0.1+0.2为什么不等于0.3? * 什么是BigInt? 为什么需要BigInt? * 如何创建并使用BigInt? * typeof 是否能正确判断类型? * instanceof能否判断基本数据类型? * 能不能手动实现一下instanceof的功能? * Object.is和===的区别? * \[\] == !\[\]结果是什么?为什么? * JS中类型转换有哪几种? * == 和 ===有什么区别? * 对象转原始类型是根据什么流程运行的? * 如何让if(a == 1 && a == 2)条件成立? * 什么是闭包? * 闭包产生的原因? * 闭包有哪些表现形式? * 如何解决下面的循环输出问题? * 原型对象和构造函数有何关系? * 能不能描述一下原型链? * JS如何实现继承? * 函数的arguments为什么不是数组?如何转化成数组? * forEach中return有效果吗?如何中断forEach循环? * JS判断数组中是否包含某个值 * JS中flat—数组扁平化 * 数组中的高阶函数 * 能不能实现数组map方法 ? * 能不能实现数组reduce方法 ? * 能不能写一个完整的深拷贝? * 数据是如何存储的? * V8 引擎如何进行垃圾内存的回收? * 描述一下 V8 执行一段JS代码的过程? * 宏任务(MacroTask)引入 * nodejs 和 浏览器关于eventLoop的主要区别 * nodejs中的异步、非阻塞I/O是如何实现的? * JS异步编程有哪些方案?为什么会出现这些方案? * 能不能简单实现一下 node 中回调函数的机制? * Promise 凭借什么消灭了回调地狱? * Promise 如何实现链式调用? * 现Promise的 all 和 race * 解释一下async/await的运行机制 … ![597265abba85af414164dd1da8809c53.png][] ## HTTP ## * HTTP 报文结构是怎样的? * HTTP有哪些请求方法? * GET 和 POST 有什么区别? * 如何理解 URI? * 如何理解 HTTP 状态码? * 简要概括一下 HTTP 的特点?HTTP 有哪些缺点? * 对 Accept 系列字段了解多少? * 对于定长和不定长的数据,HTTP 是怎么传输的? * HTTP 如何处理大文件的传输? * HTTP 中如何处理表单数据的提交? * HTTP1.1 如何解决 HTTP 的队头阻塞问题? * 对 Cookie 了解多少? * 如何理解 HTTP 代理? * 如何理解 HTTP 缓存及缓存代理? * 为什么产生代理缓存? * 源服务器的缓存控制 * 客户端的缓存控制 * 什么是跨域?浏览器如何拦截响应?如何解决? … ![3a28cc7b978db5d78ce5f1c5ec78122b.png][] ## TCP协议 ## * 能不能说一说 TCP 和 UDP 的区别? * 说说 TCP 三次握手的过程? * 为什么是三次而不是两次、四次? * 三次握手过程中可以携带数据么? * 说说 TCP 四次挥手的过程 * 为什么是四次挥手而不是三次? * 介绍一下 TCP 报文头部的字段 * 说说 TCP 快速打开的原理(TFO) * 说说TCP报文中时间戳的作用? * TCP 的超时重传时间是如何计算的? * 说一说 TCP 的流量控制 * 说说 TCP 的拥塞控制? … ![f8ee3ad45bbade1e206fb0878b8299dd.png][] ## 浏览器 ## * 说一说浏览器缓存? * 说一说浏览器的本地存储?各自优劣如何? * 说一说从输入URL到页面呈现发生了什么?(网络) * 谈谈你对重绘和回流的理解 * 能不能说一说XSS攻击? * HTTPS为什么让数据传输更安全? * 能不能实现事件的防抖和节流? * 能不能实现图片懒加载? ![4335d677b95caa0ea0d29141cc0c3c1f.png][] ## Vue ## * 什么是MVVM? * mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合? * 组件之间的传值? * Vue 双向绑定原理 * 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程? * 虚拟 DOM 实现原理 * Vue 中 key 值的作用? * Vue 的生命周期 * Vue 组件间通信有哪些方式? * vue 中怎么重置 data? * 组件中写 name 选项有什么作用? * vue-router 有哪些钩子函数? * route 和 router 的区别是什么? * 说一下 Vue 和 React 的认识,做一个简单的对比 * Vue 的 nextTick 的原理是什么? * Vuex 有哪几种属性? … ![7ae8b7d1bb444279fc6aa23d42173794.png][] ## 数据结构与算法 ## * **链表** 简单的反转链表 区间反转 两个一组翻转链表 K个一组翻转链表 如何检测链表形成环? 如何找到环的起点 合并两个有序链表 合并 K 个有序链表 判断回文链表 * **栈和队列** 有效括号 多维数组 flatten 普通的层次遍历 二叉树的锯齿形层次遍历 二叉树的右视图 完全平方数 单词接龙 优先队列 关于堆的说明 实现一个最大堆 实现优先队列 前 K 个高频元素 合并 K 个排序链表 什么是双端队列? 滑动窗口最大值 栈实现队列 队列实现栈 * **二叉树** 前序遍历 / 中序遍历 / 后序遍历 最大深度 / 最小深度 对称二叉树 二叉树的最近公共祖先 二叉树的直径 二叉树的所有路径 二叉树的最大路径和 … ![49b2f8c4e449cae366b6f0cdbb8689b8.png][] #### 完整版面试题资料免费分享,只需你点赞支持,[动动手指点击此处就可免费领取了][Link 1]。 #### ## 前端实习面试的套路 ## **回顾项目** 往往在面试时,面试官根据你简历中的项目由点及面地展开问答,所以请对你做过的最好的项目进行回顾和反思。回顾你做过的工作和项目中最复杂的部分,反思你是如何完成这个最复杂的部分的。 面试官会重点问你最复杂的部分的实现方法和如何优化。重点要思考如何优化,即使你项目中没有对那部分进行优化,你也应该预先思考有什么优化的方案。如果这部分答好了,会给面试官留下很不错的印象。 **重点在于基础知识** 这里指的基础知识包括:前端基础知识和学科基础知识。 前端基础知识:html/css/js 的核心知识,其中 js 的核心知识尤为重要。比如执行上下文、变量对象/活动对象(VO/AO)、作用域链、this 指向、原型链等。 学科基础知识:数据结构、计算机网络、算法等知识。你可能会想前端不需要算法,那你可能就错了,在大公司面试,面试官同样会看重学生这些学科基础知识。 你可能发现了我没有提到`React/Vue`这些框架的知识,这里得说一说,大公司不会过度的关注这方面框架的知识,他们往往更加考察学生的基础。 这里我的建议是,如果你至少使用或掌握其中一门框架,那是最好的,可以去刷刷相关框架的面试题,这样在面试过程中即使被问到了,也可以回答个 7788。如果你没有使用过框架,那也不需要太担心,把重点放在基础知识和学科基础知识之上,有其余精力的话可以去看看主流框架的核心思想。 [c5b3b6fba5bef5f42cba101acd139207.png]: /images/20221021/32e6a9e373e8418a816f9bb7bcbca594.png [a6c4ea3f5a166abd6e82eb207c2ef725.png]: /images/20221021/fcec4c1de1ed4e7ca81b93c33a82834f.png [a069e0b490ebc98be782b1b9f2c301fa.png]: /images/20221021/8da70da1351648698b13fe6d06f75bad.png [597265abba85af414164dd1da8809c53.png]: /images/20221021/bf76c234f06f40a2884b9f3fe32d067e.png [3a28cc7b978db5d78ce5f1c5ec78122b.png]: /images/20221021/ccab51b7300a49c48ae9b5162bf88d67.png [f8ee3ad45bbade1e206fb0878b8299dd.png]: /images/20221021/a82b01fa547a46148e400aa30e561a96.png [4335d677b95caa0ea0d29141cc0c3c1f.png]: /images/20221021/fd4e28fc1527436187e88938929466bc.png [7ae8b7d1bb444279fc6aa23d42173794.png]: /images/20221021/28c4e9b425b04fa2b02050f78ca6fa74.png [49b2f8c4e449cae366b6f0cdbb8689b8.png]: /images/20221021/e4c5bfa7b52348f285c73fb893df31ae.png [Link 1]: https://jq.qq.com/?_wv=1027&k=SBb7oFqq
还没有评论,来说两句吧...