京东校招前端一、二面

一面(40min)

这一面几乎把前端各个方面问了个遍。

JavaScript:

  1. 数组API,splice返回什么

  2. 笔试题:

for(var i = 0; i 5; i++) {

    setTimeout(function() {

        console.log(1);

    }, 1000);

}

问输出什么,解决方案有哪些?

  1. 事件循环

  2. 类型判断有哪些方法

  3. this指向

  4. 口述深拷贝的实现

  5. 有哪些遍历对象的方法

  6. 原生ajax的实现

  7. 闭包,缺点和应用场景

ES6:

  1. 箭头函数的特点

  2. Map有哪些特点?和Object有什么区别

  3. Promise的特点,Promise.all是怎么用的

  4. async、await的用法,async函数返回什么

  5. var、let、const的区别

网络:

  1. cookie的同源策略

  2. 状态码302和304

  3. 常用的header

Vue:

  1. 数据双向绑定原理

  2. 虚拟DOM和diff算法,key的作用

  3. Vuex中的几个属性

  4. computed和watch的区别

面试官评价:基础不错,不过部门用的是react,希望有机会可以去学一下。

二面(25min)

这一面的问题都是跟着简历里写的项目来的。

项目介绍就不说了。

  1. express和koa2的区别

  2. MySQL的范式

  3. Scss是什么,为什么用Scss。css预处理除了Scss还有什么?

  4. HTTPS的加密过程

  5. Vue的数据双向绑定原理

  6. localStorage:同源策略、生存周期、移除方法

面试官评价:前端基础不错,服务端方面还需要加强,因为部门工作上还是会用到一些。

面完后看到过了,不过听说京东人均HR面,看来还是难逃泡池子。

#面经##京东##前端工程师##校招#
全部评论
楼主投的什么部门
点赞 回复 分享
发布于 2020-08-22 23:22

相关推荐

1.  自我介绍2.  JS定义变量方式?let const var区别?3.  为什么用const定义变量不可以被修改?底层原理?一定不能改?4.  `let a = 1; let a = 2;` 会发生什么?会报什么错?5.  `var a = 1; var a = 2;` 可以吗?`var a = 1; let a = 2;` 呢?6.  `var`特性(如变量提升)?`console.log(a); var a = 1;` 的结果是什么?7.  JS中基本数据类型?分别存储在哪里(栈/堆)?8.  `let a = {}; b = a; `修改b会影响a吗(会)如何避免(深拷贝)9.  实现一个深拷贝?其它具体方法?10. 什么是同步和异步?什么场景下使用异步?11. 如何将异步操作中的变量/结果给同步代码使用?12. Promise的.then()和.catch()区别?什么情况用?await?13. ==和 ===区别?14. false == '0'结果?false == undefined?null == undefined ?15. 可以 let null = 1吗?16. String常用的方法?17. Array有哪些常用的增删改查方法?18. typeof和 instanceof 区别?19. 介绍一下 Webpack20. Webpack 中的 Loader ?作用?21. Webpack 有哪些特性?构建速度?如何优化?22. 什么是 HTTP?和 HTTPS 区别?23. 为什么 HTTPS 安全?(对称加密和非对称加密解释 HTTPS 的原理)24. 算法题:分金条(LeetCode原题:分发糖果)。25. 解法时间和空间复杂度分别是多少?26. 开发过程中遇到过什么问题?(结合项目说了点方法论)27. 职业规划?28. 反问环节(作息、业务、问了下为啥没问项目和实习,说比较侧重基础)ps:算法只让说思路,而且题目是口述的一开始以为是对于所有人,评分高的要比评分低的分的多,排序+遍历即可后边说我理解错了,是相邻的人,评分高的分的多做过接雨水,类比了一下,两次遍历即可(以为是mid,下来一看是hard)面试体验:还可以,基础的小点比较多比较碎,有些忘记了一开始理解错在那想不让排序怎么On得出最少奖金,以为做不出来了
查看27道真题和解析
点赞 评论 收藏
分享
09-11 14:12
已编辑
北京邮电大学 Web前端
1.浏览器从输入url到页面渲染的过程2.浏览器做了哪些工作解析HTML最终形成页面展示(渲染过程)3.对js的解析是解析什么内容4.就是假设我们已经解析完了,不管它是解析什么内容,那解析完之后的话,它其实会有一个事件循环的机制,介绍一下js的事件循环机制5.事件循环在nodejs和浏览器的区别6.vue3的vue2响应式的话有哪些区别7.vue3实现一个自定义的响应式的数据应该怎么实现8.对于引用类型和基础类型的ref 实现上有什么区别?基础类型通过包装对象实现响应式,引用类型则借助 reactive 转换为代理对象,两者最终都通过 .value 访问,但内部处理机制不同。9.vite的热更新为什么比webpack快?10.vite是怎么支持解析所有文件的为什么?11.性能优化的方式,首屏加载优化资源层面,优先压缩和拆分资源,如用 Vite/Webpack 拆分代码(Code Splitting),大文件分片加载;图片懒加载非首屏图片。通过 CDN 分发静态资源。代码层面,路由懒加载(如 React.lazy、Vue 异步组件)。缓存层面,设置 HTTP 缓存(强缓存 Cache-Control,协商缓存 ETag)12.大文件进行分片加载是如何实现的?首先前端获取文件总大小,按固定尺寸(如 1MB)计算分片数量;然后通过 HTTP Range 请求头,每次请求一个分片(如Range: bytes=0-1048575);服务端根据 Range 返回对应片段;前端接收所有分片后,用 Blob 或 ArrayBuffer 合并成完整文件。13.强缓存的,就是说要用强缓存。那你如果强化了之后,那你怎么更新呢?就比如我发了个紧急的 V3版本,你是当前可能强化才能 V1,那我怎么更新到 V3?给静态资源(JS/CSS/ 图片等)添加版本标识,如在文件名后加哈希值(app.8f3d2.js)或版本号(app.v3.js)。构建工具(Webpack/Vite)可自动生成哈希,哈希值随文件内容变化而变。14.标识是在哪里做的?构建工具(如 Webpack、Vite)会在打包时,根据文件内容生成唯一哈希值(如 MD5),并添加到文件名中(如index.abc123.js)这一步由构建工具的配置实现。15.那如何要设置html的强缓存,如何做到强制更新?16.RAG(检索增强生成)到底是什么东西,工作原理怎么样17.为什么要做向量化的过程?18.RAG减少的原因是什么,还有什么方式可以减少幻觉19.就是你是如何去了解一个全新的一个技术领域的,就是你是怎么去做对应的一个学习的?有没有一些学习的方法论可以分享一下20.分享一下Mi-BRAG21.手撕:要实现支持并发限制和先进先出(FIFO)的异步任务调度器22.追问:task返回什么类型任务执行失败了上面功能能执行么,promise如何处理失败,但是不阻塞队列->finally()catch的时候,能否将其重新加入队列重试📍面试公司:字节跳动-今日头条💻面试岗位:前端开发
查看24道真题和解析
点赞 评论 收藏
分享
评论
2
16
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务