shopee春招前端一面面经

3.28笔试

4.3一面25min左右,视频链接挂了,下了客户端。问题如下:
css
1、行内元素跟块级元素有什么区别?
2、BFC
js
1、基本数据类型有哪几种?
2、怎么判断类型(typeof和instanceof)?
3、let/const和var的区别
4、怎么理解闭包?有没有用到闭包
5、给了三段代码看输出结果(对象this,事件循环输出,原型)
6、跨域问题
vue
1、组件怎么进行通信?
1、怎么进行双向数据绑定?
2、有没有了解过虚拟DOM?
3、v-for中key的作用?
浏览器
1、http2.0以及跟http1.1的区别
2、缓存机制

唉,目测凉凉,基础还是不太牢固,只能靠许愿了
继续努力吧!
#shopee春招##Shopee##校招##前端工程师##面经#
全部评论
我也掉线了😂,不过问得基础的吧
点赞 回复 分享
发布于 2020-04-03 16:20
同一个面试官🤣
点赞 回复 分享
发布于 2020-04-03 23:27

相关推荐

虚拟 DOM 的 diff 算法是比较新旧虚拟 DOM 树的差异,并确定需要更新的部分。它能够高效地更新 UI,并最小化对真实 DOM 的操作,从而提高性能。Diff 算法的基本思想是通过遍历新旧虚拟 DOM 树的节点,并比较它们的类型、属性和内容来找到差异。根据差异的类型,可以执行相应的操作,如添加、更新或删除节点。以下是简要的 diff 算法的步骤:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=6ba5d46dd6254d20809b2e18c249cbb9比较根节点:首先比较新旧虚拟 DOM 树的根节点,确定它们是否相同类型的节点。如果不相同,直接替换整棵树;如果相同,进入下一步。比较子节点:逐个比较新旧虚拟 DOM 树的子节点。该过程使用了两个技术:首先是"Key"算法,通过给列表中的每个元素添加唯一的标识(Key),以便更准确地找到新增、删除或移动的元素;其次是"优化"算法,通过尽量少地操作真实 DOM,如移动元素而非重新创建,从而提高性能。递归比较:对于有子节点的元素,递归地进行步骤 1 和步骤 2,以便深度比较整个树的结构。Diff 算法的核心优势是在更新过程中最小化对真实 DOM 的操作。而对真实 DOM 的直接操作是昂贵的,因为每次操作都会触发浏览器的重排和重绘。通过将更新操作批量应用,以及通过只更新变化的部分,Diff 算法能够大大减少对真实 DOM 的操作次数,从而提高性能。
点赞 评论 收藏
分享
当在浏览器中输入网址并按下回车键时,以下是大致的执行过程:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=02b1742be4564f04b7e1bdf3b39333d7DNS解析:浏览器首先将输入的网址发送给DNS服务器,以获取该网址对应的IP地址。DNS服务器会查询其数据库,在找到匹配的域名时返回对应的IP地址给浏览器。TCP连接建立:浏览器使用获取到的IP地址与服务器建立TCP连接。这涉及到使用TCP三次握手的过程,确保客户端与服务器之间的可靠连接。发起HTTP请求:一旦建立了TCP连接,浏览器会发送HTTP请求到服务器。请求包含请求方法(例如GET、POST)、请求的URL、HTTP版本以及其他可能的请求头信息,如用户代理、Cookie等。服务器处理请求:服务器收到HTTP请求后,会根据请求的URL和其他请求信息来处理请求。服务器可能会读取请求中的参数,查询数据库,执行相应的逻辑处理,并生成HTTP响应。HTTP响应:服务器生成完整的HTTP响应后,将其返回给浏览器。响应包括一个状态码表示请求的结果(例如200表示成功,404表示资源未找到等),响应的内容,以及其他响应头信息,如Content-Type、Content-Length等。接收和解析响应:浏览器接收到服务器的HTTP响应后,开始解析响应。它会检查状态码,根据响应头中的Content-Type确定响应内容的类型,并将响应的内容保存下来。渲染页面:如果响应的内容是HTML页面,浏览器会开始解析HTML,并构建DOM树。然后,将CSS文件加载和解析为样式规则,并将其应用于DOM树,生成渲染树。最后,浏览器使用渲染树将页面内容绘制到用户的屏幕上。关闭TCP连接:一旦页面完全加载并渲染完成,浏览器会关闭与服务器之间的TCP连接。但是,如果页面中存在其他的资源(如图片、脚本、样式表等),浏览器可能会继续发送HTTP请求获取这些资源。
点赞 评论 收藏
分享
4 28 评论
分享
牛客网
牛客企业服务