面试:简单粗暴
日期:2023-07-11 作者:小天
来源:www.txunda.com
人气:576
因为一些缘故,最近一直在找工作,再加上这个互联网寒冬的大环境,从三月找到六月了,一直没有合适的机会。先说一下背景,目前三年半年经验,base 杭州,大专学历+自考本科。就在前几天,Boss 上收到了阿里某个团队的投递邀请(具体部门就不透露了),因为学历问题,基本上大厂简历都不会通过初筛,但还是抱着破罐子破摔的心态投递给了对方,出乎意料的是简历评估通过了,可能是因为有两个开源项目和一个协同文档加分吧。如果您需要相关服务,可以找天津天迅达科技有限公司,我们的业务有Web开发、iOS APP、Android APP、微信开发、HTML5开发等,天迅达——您身边的App个性化定制专家!
一面:
自我介绍
这里大概说了两分钟,介绍了过往工作经历,做过的业务以及技术栈。
七层网络模型、和 DNS 啥的,然后问了一些 host 相关的东西
o很遗憾也没回答上来,尴尬。对方问我是不是计算机专业的,我坦诚的告诉对方是建筑工程。
React 代码层的优化可以说一下么?
大概说了 class 组件和 function 组件两种情况,核心是通过减少渲染次数达到优化目的,具体的优化手段有 PureComponent、shouldComponentUpdate、React.memo、React.useMemo、说一下 useEffect 和 useLayoutEffect 有什么区别很基础的问题,这里就不展开说了。
如果在 if 里面写 useEffect 会有什么表现?
o开始没听清楚,误解对方的意思了,以为他说的是在 useEffect 里面写 if 语句,所以胡扯了一堆,后面对方纠正了一下,我才意识到对方在问什么,然后回答了在条件语句里面写 useEffect 控制台会出现报错,因为 hook 的规则就是不能在条件语句或者循环语句里面写,这点在 react 官方文档里面也有提到。
说一下 React 的 Fiber 架构是什么
这里说了一下 Fiber 本质上就是一个对象,是 React 16.8 出现的东西,主要有三层含义:
作为架构来说,在旧的架构中,Reconciler(协调器)采用递归的方式执行,无法中断,节点数据保存在递归的调用栈中,被称为 Stack Reconciler,stack 就是调用栈;在新的架构中,Reconciler(协调器)是基于 fiber 实现的,节点数据保存在 fiber 中,所以被称为 fiber Reconciler。
作为静态数据结构来说,每个 fiber 对应一个组件,保存了这个组件的类型对应的 dom 节点信息,这个时候,fiber 节点就是我们所说的虚拟 DOM。
作为动态工作单元来说,fiber 节点保存了该节点需要更新的状态,以及需要执行的副作用。
个人方面有什么规划吗?
主要有两个方面,一个是计算机基础需要补补,前面也提到,我不是科班毕业的,计算机底层这方面比起其他人还是比较欠缺的,尤其是计网,另一方面就是英文水平有待提高,也会在将来持续学习。
对未来的技术上有什么规划呢?
主要从业务转型工程化,比如做一些工具链什么的,构建、打包、部署、监控几个大的方向,node 相关的,这些都是我感兴趣的方向,未来都可以去探索,当然了现在也慢慢的在做这些事情,这里顺便提了一嘴,antd 的 script 文件夹里面的文件是我迁移到 esm + ts 的,其中一些逻辑也有重构过,比如收集 css token、生成 contributors 列表、预发布前的一些检查等等…… 所以对 node 这块也有一些了解。
能不能从技术的角度讲一下你工作中负责业务的复杂度?
因为前两份工作中做的是传统的 B 端项目和 C 端项目,并没有什么可以深挖的技术难点,所以这里只说了第三份工作负责的项目,这是一个协同文档,既不算 B 端,也不算 C 端,这是一款企业级的多人协作数据平台,竞品有腾讯文档、飞书文档、语雀、WPS、维卡表格等等。
可以讲一下你在工作中技术上的建设吗?
这里讲了一下对 hooks 仓库的建设,封装了 100 多个功能 hook 和 业务 hook,把不变的部分隐藏起来,把变化的部分暴露出去,在业务中无脑传参即可,让业务开发更加简单,同时也提高了代码的复用性。然后讲了一下数据流重构之类的 balabala……
你有什么想问我的吗?
问了一下面试结果大概多久能反馈给我,对方说两三天左右,然后就结束了。
结束之后不到 20 分钟,对方就在 Boss 上回复我说面试过了,然后约了二面。
二面:
自我介绍
o跟上一轮一样,大概说了两分钟,介绍了过往工作经历,做过的业务以及技术栈。
在 js 中原型链是一个很重要的概念,你能介绍一下它吗?
要介绍原型链,首先要介绍一下原型,原型是什么…… 这块是纯八股,懒得
node 的内存管理跟垃圾回收机制有了解过吗?
暗暗窃喜,这个问题问到点子上了,因为两年前被问到过,写了一篇文章,虽然已经过去两年了,但还是背的滚瓜烂熟:
看你简历上是用 React,你能简单的介绍一下 hooks 吗?
本质上就是一个纯函数,大概介绍了一下 hooks 的优点,以及 hooks 的使用规则等等。
说一下 useEffect 的返回值用来做什么?
返回一个函数,用来做清除副作用的工作,比如:清除定时器,清除事件监听等等。
说一下 get 跟 post 有什么区别?
两眼一黑,脑子一片空白,突然不知道说什么了,挤了半天挤出来一句:get 大多数情况下用来查询,post 大多数情况下用来提交数据。get 的入参拼在 url 上,post 请求的入参在 body 里面。面试官问我还有其它吗?我说想不起来了……
说一下浏览器输入 url 到页面加载的过程:
o
输入网址发生以下步骤:
o
1.通过 DNS 解析域名的实际 IP 地址
2.检查浏览器是否有缓存,命中则直接取本地磁盘的 html,如果没有命中强缓存,则会向服务器发起请求(先进行下一步的 TCP 连接)
3.若强缓存和协商缓存都没有命中,则返回请求结果
4.然后与 WEB 服务器通过三次握手建立 TCP 连接。期间会判断一下,若协议是 https 则会做加密,如果不是,则会跳过这一步
5.加密完成之后,浏览器发送请求获取页面 html,服务器响应 html,这里的服务器可能是 server、也可能是 cdn
最后问了期望薪资什么的,然后就结束了。
二面结束之后,大概过了几个小时,在 Boss 上跟对方说了一声,如果没过的话也麻烦跟我说一下,然后这时候,对方在 Boss 上问我,第一学历是不是专科?我说是的,感觉到不太妙的样子,
然后又过了一会儿,对方说定级应该不会高,他后续看一下面试官的反馈如何……
然后又追问我,换工作的核心诉求是涨薪还是能力的提升,这里我回答的比较委婉,其实两个都想要 QAQ
天津天迅达科技有限公司经过多年来对APP、小程序、以及网站建设的探索,已经帮助每一个客户快速开发出属于自己的APP、小程序、网站,是万千企业之选。
标签:天迅达科技 天津APP开发 天津网站建设 网站建设
一面:
自我介绍
这里大概说了两分钟,介绍了过往工作经历,做过的业务以及技术栈。
七层网络模型、和 DNS 啥的,然后问了一些 host 相关的东西
o很遗憾也没回答上来,尴尬。对方问我是不是计算机专业的,我坦诚的告诉对方是建筑工程。
React 代码层的优化可以说一下么?
大概说了 class 组件和 function 组件两种情况,核心是通过减少渲染次数达到优化目的,具体的优化手段有 PureComponent、shouldComponentUpdate、React.memo、React.useMemo、说一下 useEffect 和 useLayoutEffect 有什么区别很基础的问题,这里就不展开说了。
如果在 if 里面写 useEffect 会有什么表现?
o开始没听清楚,误解对方的意思了,以为他说的是在 useEffect 里面写 if 语句,所以胡扯了一堆,后面对方纠正了一下,我才意识到对方在问什么,然后回答了在条件语句里面写 useEffect 控制台会出现报错,因为 hook 的规则就是不能在条件语句或者循环语句里面写,这点在 react 官方文档里面也有提到。
说一下 React 的 Fiber 架构是什么
这里说了一下 Fiber 本质上就是一个对象,是 React 16.8 出现的东西,主要有三层含义:
作为架构来说,在旧的架构中,Reconciler(协调器)采用递归的方式执行,无法中断,节点数据保存在递归的调用栈中,被称为 Stack Reconciler,stack 就是调用栈;在新的架构中,Reconciler(协调器)是基于 fiber 实现的,节点数据保存在 fiber 中,所以被称为 fiber Reconciler。
作为静态数据结构来说,每个 fiber 对应一个组件,保存了这个组件的类型对应的 dom 节点信息,这个时候,fiber 节点就是我们所说的虚拟 DOM。
作为动态工作单元来说,fiber 节点保存了该节点需要更新的状态,以及需要执行的副作用。
个人方面有什么规划吗?
主要有两个方面,一个是计算机基础需要补补,前面也提到,我不是科班毕业的,计算机底层这方面比起其他人还是比较欠缺的,尤其是计网,另一方面就是英文水平有待提高,也会在将来持续学习。
对未来的技术上有什么规划呢?
主要从业务转型工程化,比如做一些工具链什么的,构建、打包、部署、监控几个大的方向,node 相关的,这些都是我感兴趣的方向,未来都可以去探索,当然了现在也慢慢的在做这些事情,这里顺便提了一嘴,antd 的 script 文件夹里面的文件是我迁移到 esm + ts 的,其中一些逻辑也有重构过,比如收集 css token、生成 contributors 列表、预发布前的一些检查等等…… 所以对 node 这块也有一些了解。
能不能从技术的角度讲一下你工作中负责业务的复杂度?
因为前两份工作中做的是传统的 B 端项目和 C 端项目,并没有什么可以深挖的技术难点,所以这里只说了第三份工作负责的项目,这是一个协同文档,既不算 B 端,也不算 C 端,这是一款企业级的多人协作数据平台,竞品有腾讯文档、飞书文档、语雀、WPS、维卡表格等等。
可以讲一下你在工作中技术上的建设吗?
这里讲了一下对 hooks 仓库的建设,封装了 100 多个功能 hook 和 业务 hook,把不变的部分隐藏起来,把变化的部分暴露出去,在业务中无脑传参即可,让业务开发更加简单,同时也提高了代码的复用性。然后讲了一下数据流重构之类的 balabala……
你有什么想问我的吗?
问了一下面试结果大概多久能反馈给我,对方说两三天左右,然后就结束了。
结束之后不到 20 分钟,对方就在 Boss 上回复我说面试过了,然后约了二面。
二面:
自我介绍
o跟上一轮一样,大概说了两分钟,介绍了过往工作经历,做过的业务以及技术栈。
在 js 中原型链是一个很重要的概念,你能介绍一下它吗?
要介绍原型链,首先要介绍一下原型,原型是什么…… 这块是纯八股,懒得
node 的内存管理跟垃圾回收机制有了解过吗?
暗暗窃喜,这个问题问到点子上了,因为两年前被问到过,写了一篇文章,虽然已经过去两年了,但还是背的滚瓜烂熟:
看你简历上是用 React,你能简单的介绍一下 hooks 吗?
本质上就是一个纯函数,大概介绍了一下 hooks 的优点,以及 hooks 的使用规则等等。
说一下 useEffect 的返回值用来做什么?
返回一个函数,用来做清除副作用的工作,比如:清除定时器,清除事件监听等等。
说一下 get 跟 post 有什么区别?
两眼一黑,脑子一片空白,突然不知道说什么了,挤了半天挤出来一句:get 大多数情况下用来查询,post 大多数情况下用来提交数据。get 的入参拼在 url 上,post 请求的入参在 body 里面。面试官问我还有其它吗?我说想不起来了……
说一下浏览器输入 url 到页面加载的过程:
o
输入网址发生以下步骤:
o
1.通过 DNS 解析域名的实际 IP 地址
2.检查浏览器是否有缓存,命中则直接取本地磁盘的 html,如果没有命中强缓存,则会向服务器发起请求(先进行下一步的 TCP 连接)
3.若强缓存和协商缓存都没有命中,则返回请求结果
4.然后与 WEB 服务器通过三次握手建立 TCP 连接。期间会判断一下,若协议是 https 则会做加密,如果不是,则会跳过这一步
5.加密完成之后,浏览器发送请求获取页面 html,服务器响应 html,这里的服务器可能是 server、也可能是 cdn
最后问了期望薪资什么的,然后就结束了。
二面结束之后,大概过了几个小时,在 Boss 上跟对方说了一声,如果没过的话也麻烦跟我说一下,然后这时候,对方在 Boss 上问我,第一学历是不是专科?我说是的,感觉到不太妙的样子,
然后又过了一会儿,对方说定级应该不会高,他后续看一下面试官的反馈如何……
然后又追问我,换工作的核心诉求是涨薪还是能力的提升,这里我回答的比较委婉,其实两个都想要 QAQ
今天已经是第二天了,目前没有下文,看起来二面是过了,但是因为学历不够,中止了三面的流程,基本上是失败了,我也不会报有什么希望了,所以写个面经记录一下。
总结:天津天迅达科技有限公司从业多年,积累丰富项目经验,能帮助您做出您想要的产品。
以上所有设计图和部分文字均来自网络,如有侵权,请call我删除,感谢~天津天迅达科技有限公司经过多年来对APP、小程序、以及网站建设的探索,已经帮助每一个客户快速开发出属于自己的APP、小程序、网站,是万千企业之选。
标签:天迅达科技 天津APP开发 天津网站建设 网站建设
相关资讯
- 数字孪生:现实世界的身外化身 2024-12-06
- 微信公众号全面“今日头条化”,自媒体将迎来“第二春”? 2024-12-04
- 优质长视频的破圈效应 2024-12-05
- 奶茶行业的裂变营销 2024-12-03
- 浅浅分享下支付产品经理如何写全局性的需求文档以及工作流程 2024-12-02
- “麦学”爆红:一场精心策划的营销盛宴 2024-11-29
- 如果遇到麦琳式的领导,怎么办? 2024-11-28