27 届前端 6 月 5 号面经与面试感想

没有自我介绍,直接从项目开始结合八股

开始介绍一下项目

1. 你对 React 底层有了解过吗
   我以为这是在问我有没有看过 React 源码,开始还有点想放弃回答的,后来我硬着头皮开始讲声明式编程,组件化之类的。。。
   突然觉得不管怎么样,我觉得都可以讲讲和这些东西沾点边的,起码让面试官了解你知道什么吧哈哈(仅个人观点)

2. 讲讲 React 的生命周期

3. 刚才你在讲生命周期时提到了 useEffect 依赖数组不为空的情况,如果我想进行数据请求这些操作应该怎么处理依赖数组呢

4. 那么你还用过什么其他的 hooks 吗

5. useCallback 和 useMemo 之间的区别

6. 组件之间的通信
   我只讲了父组件向子组件之间的 props 传递和状态提升进行子组件之间同一变量状态的同步

7. 那么如果我不想使用状态提升应该怎么办呢
   我说可以使用 forwardRef 和 useImperative hooks 来实现将子组件中特定 DOM 元素暴露给父组件
   还有一些状态管理工具 zustand,Redux

8. 有使用过 Redux 吗

9. 你的项目中有使用过 antd,讲讲你对它的一些看法
   这里有点尴尬了,我一直以为只能`npm install antd`将所有的组件的下载,但是面试官说我玩的不够溜实际也可以向 Shadcn UI 一样实现按需下载

10. 你的 webpack 是怎么配置的,是使用了默认配置吗,还是使用了自己的配置呢

11. 你是如何实现的自动化部署呢(这个问题我觉得还挺频繁的,基本只要看了我的简历的面试官都问了,得仔细总结一下这个问题)

12. 你使用过 vite 和 webpack,这两者你觉得有什么区别呢
    我个人只从了开发环境下和一些其他小的方面的区别进行讲述,后来面试结束觉得可以再深入讲讲

13. 你写到你会 flex 讲讲 flex 的一些常见属性

14. 我有一个盒子,左侧元素在屏幕缩放时不变,右侧元素会按照缩放而变化

15. Sass 的使用感受

16. Sass 中样式的深度嵌套应该怎么写(应该是好奇发问,面试官应该没用过 Sass)

17. 使用过的 git 的常见命令

18. 合作开发中遇到冲突怎么解决

19. git rebase 和 git merge 之间的区别

20. 你为什么会觉得 git merge 会比 git rebase 更适合合作开发

21. 你做过一些外包项目,这些项目是什么
    Hugo,PHP 然后面试官听到我写过 PHP 再那里笑了好久:“哈哈哈,PHP,世界上最好的语言”

貌似没了,然后写了一道很简单的算法

这几次面试下来,我觉得我自己在知识方面上有进步之外,我也渐渐体会到了如何去把握面试节奏,面试不应该是一场严肃的知识问答而是一场畅快的技术交流。要去引导面试官问你会的问题,可以在对一个问题的讲解时将另一个(你熟悉的)知识点进行相关联,这样的话大概率面试官会去你问你提到的另外一个知识点,来把握面试节奏。

当然我还是一个小白,只是将自己的理解分享,也希望给大家带来帮助
全部评论
啥算法
点赞 回复 分享
发布于 06-07 17:30 天津

相关推荐

点赞 评论 收藏
分享
评论
5
7
分享

创作者周榜

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