前言
书接上回初入职场一年半的前端练习生总结练习(工作)时长1年半的前端er年终终结。
笔者在发布上一篇博客的这段内又有了很大的收获和成长,在此记录一下2024年,迎来24岁的我的面试准备。
截至目前个人情况概览
~ o( ̄▽ ̄)ブAloha,这里是superlit帆,因为个人原因从前东家离开啦,离职之后很开心如愿以偿得到了喜欢的offer,这里分享下我面试的小中大厂笔试面试题目供大家参考,祝大家offer多多。
关键词:面试前期准备、面试记录、面试中注意事项、面试后注意事项与面试结果
面试前期准备
知识储备
手写题
手写题无他,唯手熟尔,首先高频手写题背后的概念,接下来的就是根据根据概念去实现想要的功能了。我对手写题的准备是高频手写题涵盖概念理顺+自己手写一遍+再去看网上其他作者大大提供的手写方案做比较看区别在哪。
算法题
这里很推荐修言大大的算法小册,言简意赅,通俗易懂的拆解了很多概念和数据结构。我对算法这里的准备是小册+leetCode刷题+刷题复盘的方式进行。
html/css/js/react/vue
这里更多是靠日常积累了,笔者这两年主要技术栈为React,一主要是通过自己的业务编写+CR与被CR+阅读卡颂、我不是外星人、官网的资料着手准备。这里阅读的资料为卡颂的源码解析与我不是外星人的React进阶指南。
typeScript
找到自己之前写的tsx文件,在认真学习完神光的类型体操之后再去思考有没有更好的ts写法,有则重写,学以致用,既有学到,又能用到,何乐不为?
浏览器原理
经典老题,输入URL到完成页面渲染到底发生了什么。可不要小瞧这一题,这一题大有所为,文能八股,武能实战,八股可以八股到每一步的细节,实战可以实战到每一步能做到的项目性能优化。
打包工具vite、webpack对比
拿出自己之前写过的打包工具,系统性的去做出一个全面的知识梳理。
简历准备
这里我先收集了一波同行愿意提供参考的优秀简历作为参考,然后自己写好初稿给前端负责人老前辈一审和大厂同龄同行前辈二审,改了两版之后通读无误大家都觉得OK就往招聘软件上投送了。
模拟演练
因为自己也在工作过程中担任过面试官一职,所以知道换位思考是很重要的,我作为面试官面试的时候最看重的一个是技术经验(也就是确实做过并且知道自己做的事情的来龙去脉)和交流感受(能否很顺利的交流,交流的态度是否积极)。询问其他各个年龄段和各个厂的同行朋友要求其实都离不开上述两点,那么在模拟演练的时候就可以尽可能找到面试官想要的以及自己需要呈现的状态和感觉。
面试记录
这里罗列下我参加面试遇到的面试题目
手写题
用原生js手写一个React setState,并且需要体现能更新到对应的节点上
手写一个用户管理系统,可以做到增删查改(有时间限制,细节需提前协商)
基础题
display flex用的什么属性巨多?给我详细介绍一下好吗?
position属性值
align-items和justify-content属性值默认值
then是什么概念的函数
操作系统怎么进行文件读取?(浏览器是怎么知道我的文件放在哪里的)
给我讲清楚你理解的构造函数、原型链、new的过程
工作中ES6常用语法与API介绍
抽象语法解析树(AST)请和我介绍一下你的理解
cookie、session的区别与日常使用方式
浏览器缓存是什么样的机制,有哪些类型的浏览器缓存
我想设置强缓存,有什么配置项能辅助我配置强缓存
请给我介绍事件循环
框架题(笔者近两年写React多,所以问的多为React)
介绍日常使用频率比较高的hooks并且告诉我使用上的注意事项
React和Vue为什么用到了build但是jQuery不需要
React源码有看过吗,有的话给我阐述下你所了解到的实现
React diff有了解过吗,知道是怎么实现代码对比的吗
前端工程化
webpack做过什么配置
写过npm包吗?发布包的过程中知道build过程发生了什么吗
用过webpack吗,知道loader和plugin吗,有自己写过loader的话告诉我是怎么写的思路是什么
vite、webpack你都有用过的话请告诉我他们的区别,以及你为什么选vite
为什么vite更快
前司的部署流程是什么样的,从部署到发布原理你是清楚的吗,清楚请介绍下
思路题
实现一个无限滚动列表(数据量为上万条),确保性能消耗稳定页面不崩溃,告诉我你的思路
手写题
手写一个APP挂载在id 为root的div上
手写apply/call/bind
给你一串数字,给我返回千分位加逗号的字符串,如1234567890返回"1,234,567,890"
场景概念题
有做过单点登录吗,有的话和我介绍下你的了解和具体操作
先定义函数A,函数A中调用B,再定义函数B,useEffect中调用函数A代码是否会报错,为什么
介绍下你自定义的hook,为什么这么定义
webSocket是怎么使用的?为什么要那样用
过往经历
工作中做过的最印象深刻的事情
遇到过最棘手的问题,给我讲清楚项目是做什么的并且告诉我觉得挑战在哪里
给我描述一个你做需求的全过程并且描述清楚那个需求让我清楚你做了什么工作
性格题
抗压能力
最近一次崩溃是什么时候为什么
面试后注意事项
补充回答
这里需要注意,在面试时没有答得很好的问题是可以在面试后进行补充回答的(但是不需要长篇大论,简明扼要即可),一来是真的查缺补漏,二来也可以给面试官留下个对面是真的有在认真听并且认真准备的印象。
钱的事情要问清楚
恭喜顺利来到hr面,这个时候可以正式聊聊钱,预先需要确定好工资基准线+问清楚五险一金、加班补贴、年终奖金、绩效制度、加薪制度。然后根据hr给到的说明计算好一个月能到手的
总结与期许
不知不觉从夏天已经走到了冬天,这段时间扎实的每天面试复盘总结也给自己带来了很多意料之中和之外的收获,希望我的分享可以帮助到屏幕前的你。今年我24岁,还有很多想做的事情,想去到的地方和想见到的人,我想切实可行的计划+行胜于言的坚持等于能做到的所有,后续还有很多职业生涯相关的规划事成之后也会陆陆续续分享出来(嘘,这里先保密)。祝大家都能有更好的未来~