小公司刷面试题目整理4(自用)

面试公司:杭州某小厂

面试岗位:前端

昨天面了个憨批小厂,上来说暑期,问技术栈说js,面试问问题吱吱呜呜,最后我问有转正吗,回答没hc……

感觉小公司就是没暑期,有也是对暑期理解有误差:“暑期,不就是暑假来日常实习吗?”

好的,寒气就是这样往下流的,92鸽大厂,大厂鸽双非,双非鸽小厂。

让我说,全部一把火点了吧。

今天面了前几天约好的二面,照例整理下,虽然没有我想要的手撕代码很难受,但是面试官人挺好的,重点夸赞。

今天主要拷打的是项目这块,主打一个项目内容我懂他不懂,我不懂他也不懂。

面试问题:

[项目相关]

1.问题:Electron里面如何优化主进程和渲染进程的通信效率?

答题思路:操作打包;预加载;ipc同步与异步抉择;数据序列化优化

反思:这边Electron相关的内容还在做简单demo,争取下周做完。

2.问题:虚拟列表的是如何动态地计算滚动区域和显示范围的?在uniapp中是否进行特殊的处理?

答题思路:计算——监听滚动事件,获取scrollTop;范围确定——计算列表项初始索引和结束索引;渲染更新等。

反思:没有实操过,确实很难说出具体操作,晚上写个demo试试。

3.问题:“骨架屏”只是放一个空白的“骨架”样式吗?有没有在此基础上做一些别的操作去增加用户体验?

答题思路:加载动画;渐进式填充;错误反馈等等。

反思:“骨架屏”更多停留在微信小程序自带生成的骨架屏,感觉在此方面可以适当拓展。

4.问题:在提升大规模提升数据渲染效率时,可以用webworker分担计算任务,有使用过吗?能介绍下吗?

答题思路:基本原理——允许js后台运行脚本,可以承担复杂的计算任务(数据排序、过滤、格式化等);使用步骤——安装worker-loader;vue.config.js配置;常见语法new,postMessage,onmessage,terminate

反思:没用过,但实际上可以了解下echarts等图标碰到大数据情况时的优化,回答到相关领域往上扯就行。

5.问题:git一些常用命令:fetch/pull区别?revert/reset/rebase区别?reset几个层级?

答题思路:pull为merge+fetch,会合并远程到本地;rebase变基,一般用来修改commit信息,所有之前的历史信息都会重新提交到顶部;reset恢复版本,三个层级,--soft回退到暂存区,--mixed回退到工作区,--hard删除当前版本;revert恢复版本,但是为新增提交,新增的提交指向回退的版本内容,更加的安全。

反思:git的不常用操作确实需要时间去单独记忆。

6.问题:react常见知识:类组件和函数组件的优缺点?高阶函数的优缺点?react如何自定义hook?

答题思路:类组件更加灵活,性能优化更加可控,心智负担轻;函数组件语法简洁,更易测试;高阶函数可以封装代码,避免重复编写,增强组件功能;自定义Hook略。

反思:真不应该在简历写熟悉react的,我错了我错了我错了我错了我错了我错了我错了我错了,暑期如果有时间学了再写吧TUT。

#软件开发笔面经##面试常问题系列##我的面试日记#
全部评论

相关推荐

评论
2
5
分享

创作者周榜

更多
牛客网
牛客企业服务