三年经验前端社招——丰巢科技

大家好,我是若川。最近组织了源码共读活动《1个月,200+人,一起读了4周源码》,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 ruochuan12 参与。

本文经作者@lxcan 授权转载,未经授权请勿直接转载。
原文标题:《三年经验前端社招——丰巢科技》
原文链接:https://zhuanlan.zhihu.com/p/405745017
文末点击阅读原文直达

前言

本人毕业学校是双非二本,非计算机科班出身,大学时自学的前端相关技能。截止2021年8月,有3年前端开发经验,技术栈为 vue 全家桶,求职意向城市是深圳。想着找一个更大的平台寻求发展(技术沉淀、涨薪),所以出来接受社会的毒打了。。。

本文的目的是记录自己的面试经历,各位路过的兄dei也可以参考一下,也让自己有个回顾和反思。路漫漫其修远兮,吾将上下而求索

下面的题目,都会标明每一题的性质,部分题目也会给出一些参考思路和参考回答,希望各位大佬不吝赐教~

  • 描述:对概念、过程的描述,纯理论性问答题为主

  • 举例:说出应用场景,或者是自己团队实践的情况

  • 伪代码:写代码,但不需要跑起来,甚至可以随便写伪代码,主要目的是描述思路

  • 编程:真正的写代码,需要跑起来,有测试用例,要看到效果

HR面的话,是一些日常、项目回顾(少说技术细节)、职业规划、你的优势和缺点、为什么跑路、为什么选择这边、目前薪资和职级、期望薪资,HR面基本离不开这些问题。

一面

1、说一个你印象最深刻的项目?遇到了什么问题?怎么解决的?有什么成果?【描述】

2、有个长列表上万行,怎么做优化?【描述】
懒加载或者虚拟滚动

3、图片资源怎么做优化?【描述】【举例】
压缩、雪碧图、svg、base64、iconfont

  • 首屏图片优先加载,等首屏图片加载完全后再去加载非首屏图片。

  • 对大部分图片,特别是轮播广告中的图片进行按设备尺寸裁剪,减少图片体积,减少网络开销,加快下载速率。

4、懒加载的话,如果异步请求返回很慢 1-3 秒,怎么优化?【描述】
后端处理,缓存

5、做过哪些 webpack 打包体积优化?具体怎么做怎么配置的?【描述】【举例】

  • 压缩代码

  • 提取公共资源

  • tree-shaking

  • scope-hoisting

  • 图片压缩

  • 动态Polyfill

6、你觉得 webpack 里面最难配置是哪些?【举例】
多入口打包、loader配置、external、tree-shaking等说几个

7、浏览器加载网页的主要步骤包括哪些?【描述】
(1)通过DNS进行域名解析得到域名映射的IP地址
(2)向此IP地址发起TCP的3次握手,取得连接
(3)建立TCP连接后发起http请求
(4)服务器响应http请求,浏览器得到html代码
(5)浏览器解析html代码,并请求html代码中的资源(如 js、css、图片等)
(6)浏览器对页面进行渲染,最终呈现给用户

8、浏览器对页面进行渲染,是怎么渲染的?DOM 树和 CSSOM 树是怎么构建的?【描述】
渲染过程:
(1)构建DOM树,将浏览器无法直接理解和使用的HTML,转换为浏览器能够理解的结构--DOM 树。
(2)构建CSSOM,把 CSS 转换为浏览器能理解的结构(styleSheets),并转换样式表中的属性值,使其标准化,计算出 DOM 树中每个节点的具体样式(根据继承规则和层叠规则)。
(3)创建 Layout 布局树,确定DOM 元素的几何位置信息,遍历 DOM 树中的所有可见节点,加入到布局树(display:none不包含),并计算布局树节点的坐标位置。
(4)构建图层树,如果页面有复杂的效果,如常见的页面滚动,或者使用 z 轴排序等,为了更加方便地实现这些效果,渲染引擎还需要为特定的节点生成专用的图层,并生成一棵对应的图层树(LayerTree)。
(5)Paint 图层绘制,把一个图层的绘制拆分成很多小的绘制指令,然后再把这些指令按照顺序组成一个待绘制列表(联想自己画画)。
(6)tiles:将图层转换成图块。
(7)光栅化:通过进程实现图块转换成位图。
(8)display:浏览器进程拿到 DrawQuad 信息生成页面显示。

9、在html头部head 通过 link 外部引入一个样式文件,会阻塞渲染吗?【描述】
css样式解析不会阻塞渲染

10、CDN 加速原理是什么?它和外链引入js这种有什么区别?【描述】
CDN 即内容分发网络。CDN 的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

CDN 的适用场景:
解决因分布、带宽、服务器性能带来的访问延迟问题,适用于网站站点/应用加速、点播、直播、视音频点播、大文件下载分发加速、移动应用加速等场景

11、防抖和节流是什么?怎么实现?有哪些应用场景?【描述】【伪代码】
常见问题

12、vue-router 有几种模式?分别说下他们的实现原理?【描述】
两种模式
- hash模式:利用 window 的 hashchange 事件,监听到 hash 改变后拿到对应的路由组件,更新DOM
- history模式:利用 history.pushState 事件改变浏览器地址栏,以及 window 的 popstate 事件监听浏览器的前进后退事件,更新DOM

13、说下 vue 响应式原理【描述】

14、说下 vue 都有哪些生命周期钩子函数?都在什么阶段触发的?【描述】

15、vue 如果一个父组件嵌套了子组件,它们的加载顺序是什么?触发生命周期的顺序又是什么?【描述】
先创建父组件,再创建子组件;先挂载子组件,再挂载父组件。

16、说下 Diff 算法的执行过程【描述】
DOM操作是很耗性能的,因此需要尽量减少DOM操作。找出本次DOM必须更新的节点来更新,其他的不更新,这个“找出”的过程,就需要diff算法。diff算法主要执行过程:

  • patch(container, vnode) ,首次渲染,将 container 转为 vnode,并对比新旧 VNode 是否相同节点然后更新DOM

  • patch(vnode, newVnode) ,数据改变二次渲染,对比新旧 VNode 是否相同节点然后更新DOM

  • createElm(vnode, insertedVnodeQueue),先执行用户的 init 钩子函数,然后把 vnode 转换成真实 DOM(此时没有渲染到页面),最后返回新创建的 DOM

  • updateChildren(elm, oldCh, ch, insertedVnodeQueue), 如果 VNode 有子节点,并且与旧VNode子节点不相同则执行 updateChildren(),比较子节点的差异并更新到DOM

17、用过哪些ES6的新特性【举例】

18、ES6 的 Map 有什么特性?可以设置重复的key吗?Map 有顺序吗【描述】
Map最主要的特性就是可以设置任意数据类型的key。key不能重复,后续会覆盖之前的,有顺序。

19、可以改变原数组的方法有哪些【举例】
push, pop, unshift, shift, splice, sort, reverse
20、怎么收集一个二维数组里的重复元素?【描述】
先拍平数组,再遍历数组,判断当前元素的前后索引值,如果前后索引值不一样就是重复的

21、怎么判断一个元素是否为数组?【描述】
(1)Array.isArray() 方法
(2)arr instanceof Array
(3)Object.prototype.toString.call(obj) === '[object Array]'

22、最近在学什么新技术?【描述】

23、你近期的职业规划?有具体去做计划吗?你觉得怎样才算是一个高级开发?【描述】

24、你有什么问题要问我的?【描述】

最后

深圳市丰巢网络技术有限公司,所处行业是物联网,物流平台,电商平台。这家一面是视频面试,面了大概一个小时,有些问题不记得了,感觉有几个问题没答好,面试一轮游,不管怎样,菜是原罪,继续加油吧~
往期回顾:

  • 三年经验前端社招——朴朴科技

  • 三年经验前端社招——腾讯微保

  • 三年经验前端社招——慧择网

  • 三年经验前端社招——有赞

  • 三年经验前端社招——众安保险

  • 三年经验前端社招——Shopee

天生我材必有用,千金散尽还复来

最近组建了一个湖南人的前端交流群,如果你是湖南人可以加我微信 ruochuan12 私信 湖南 拉你进群。


推荐阅读

1个月,200+人,一起读了4周源码
我读源码的经历

老姚浅谈:怎么学JavaScript?

我在阿里招前端,该怎么帮你(可进面试群)

b6a4cdfd65a435b03d5ff06445b7e42f.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》10余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经写了7篇,点击查看年度总结。
同时,最近组织了源码共读活动,帮助1000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

f5e868a1441fc6eb967ea8a85f97d103.png

识别方二维码加我微信、拉你进源码共读

今日话题

略。欢迎分享、收藏、点赞、在看我的公众号文章~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字集成电路物理设计_数字世界的物理词汇

数字集成电路物理设计Nineteen Eighty-Four is my favourite novel; I must have read it half a dozen times. There are many reasons why I believe it to be a work of literary genius, but recently I’ve been thinking about one specific aspect of it that has a ver…

yum安装Docker失败No package docker available

2019独角兽企业重金招聘Python工程师标准>>> 原因:yum没有找到docker包,更新epel第三方软件库。 yum install epel-release再yum安装docker: yum install -y docker转载于:https://my.oschina.net/yuantangxi/blog/3033800

黑客宣言_情感设计宣言

黑客宣言重点 (Top highlight)I have a feeling that this article is going to be slightly different from the rest of the articles I’ve recently seen or read. Everybody seems to be fighting on topics such as “UX designer or Product Designer”? “UX/UI is ok…

[转]VS2010中的单元测试

本文转自:http://zxianf.blog.163.com/blog/static/30120701201101011757499/ 在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行…

三年经验前端社招——Shopee

大家好,我是若川。最近组织了源码共读活动《1个月,200人,一起读了4周源码》,已经有超50人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 ruochuan12本文经作者lxcan 授权转载&#xff0…

简易拨号器iCall

iCall是由哥开发的一款android平台的电话拨号小工具&#xff0c;简单不能再简单的Android手机拨号程序。 代码不过几行&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…

苹果手机隐私分析数据是什么_苹果公司以用户为中心的隐私保护方法能教给我们什么?

苹果手机隐私分析数据是什么重点 (Top highlight)Moving beyond the rollercoaster of excitement and controversy Apple has been in for the last week, there was one thing in the WWDC keynote that stood out for me. One thing I really appreciated seeing. There is …

为什么 Vue2 this 能够直接获取到 data 和 methods ? 源码揭秘!

1. 前言大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12之前写的《学习源码整体架构系…

钮扣电池电压电量_纽扣厂

钮扣电池电压电量S. is a designer and works at the button factory. Despite its scary look, S. goes there every day, and he loves his routine, never missing a day!S.是一位设计师&#xff0c;在按钮工厂工作。 尽管看上去很恐怖&#xff0c;S。每天都去那里&#xff…

18秋学期《计算机网络》在线作业,18秋北交《计算机应用基础及计算机网络与应用》在线作业一-2辅导资料.docx...

18秋北交《计算机应用基础及计算机网络与应用》在线作业一-2辅导资料.docx18 秋北交计算机应用基础及计算机网络与应用在线作业一-21、B 2、D 3、B 4、A 5、B 一、单选题共 10 题&#xff0c;40 分1、决定局域网特性的主要技术 要素包括( )、传输介质与介 质访问控制方法。A 所…

三年经验前端社招——慧择网

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12本文经作者lxcan 授权转载&#xff0…

港口遭遇小MM

港口&#xff0c;遭遇小MM 刚开始&#xff0c;丫头看见我拍她&#xff0c;对我毫不客气地说&#xff1a;“侵犯肖像权&#xff0c;除非立刻买两份冰淇淋来&#xff01;”后来&#xff0c;她就一直跟在我屁股后面&#xff0c;求我给她拍。轮到我说话了&#xff1a;“拍一张&…

印发 指南 通知_通知设计的综合指南

印发 指南 通知重点 (Top highlight)Peripheral messages in digital products, collectively known as notifications, should never harm the user experience. Instead, they must contribute to an experience that helps people accomplish a goal. Addressing notificati…

三年经验前端社招——众安保险

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12本文经作者lxcan 授权转载&#xff0…

现代人的压力和焦虑_设计师如何建立减少焦虑和压力的体验

现代人的压力和焦虑From my Brooklyn apartment in New York City, I watch Gov. Andrew Cuomo share the daily Covid-19 death toll with the nation. I watch his broadcast every day, around 11 a.m. I dubbed Cuomo America’s #crisisdaddy and have posted so many Ins…

我是如何零基础入门前端开发的(2021 版)

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12大家好&#xff0c;我是山山而川&…

去贵阳参观大数据到哪参观_您必须参观的四个世界

去贵阳参观大数据到哪参观Video games have always aimed to create a world separate from our own, with experiences gamers couldn’t get anywhere else. As technology has raced forward with time, these worlds have become more realistic, more believable, and at …

1年工作经验8月份大厂面试全记录

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12本文来自读者AaronKwong 投稿。他参与…

axure ui设计_了解针对UI / UX设计人员的Axure RP 9

axure ui设计Axure is a powerful prototyping software with a lot of history. It has been around for many years and is available for Windows and Mac. Axure gained a lot of functionality over time, and today you can look at Axure as all in one tool. You can b…

杭州 3~5年 前端面经,高频面试题总结

大家好&#xff0c;我是若川。假期归来&#xff0c;国庆期间没有更文&#xff0c;不用想每天发什么文章&#xff0c;不用担心阅读量&#xff0c;其实感觉挺好。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超100人提交了笔…