提供正向的情绪,尽可能的体现自己的加分项、专业度能让面试官觉得你很靠谱、值得推荐。
同时也能增加面试官对你的好感度。
举个栗子:我在面试中遇到一个女生在自我介绍的时候,她先简要介绍了一下自己常用的技术栈以及对应技术栈的熟悉程度,然后介绍了她上家公司做的项目,分模块的介绍一下自己在这些模块中做的事情以及两个业务线之间的关系。
她的介绍大概在3分钟左右,整个介绍说的比较有条理、有逻辑性,在她做完自我介绍的之后,我基本已经知道从她项目中挖掘哪些问题进行提问了。
全程没有一句废话,这让我对她的专业度的好感就增加了;即使她后面vue的一些原理说的很磕磕巴巴,但最后因为第一印象,我还是推荐了她。
在我面试的所有女生中,提炼中心思想,能有条理且有主次的把自己的擅长的技术和业务说明白的,她是最好的一个。因为我所在的业务生产线需要做一些跨部门沟通,所以能一句话说清楚自己的需要,情商在线的话,能提高整个工作的效率。
1.机试
1、把一个url拆解成origin、文件名、hash拆解成示例的格式。
2、两个数组合并成一个数组,并进行算法优化。
3、设置值的时候是数字,输出的时候变成百分号的格式。
4、首屏优化的方案,分别从代码、网络和缓存说一下。
5、如果一次性增加100万个用户访问项目,前端角度你会怎么优化。
6、分别用es5和es6的方式解决一个继承问题
1、一面
1、简单的介绍一下你自己
2、你们这项项目中有微信公众号、后台管理端、医生app端和小程序端,有没有提炼出一些公共的工具js,怎么提炼的?
3、你们的git分支管理是怎么样的?
4、你在做完前端项目之后,一般都会写哪些文档,readme里面写一些什么?
5、你做完一个项目之后写一些什么内容,让接手你的人能够看懂你的项目架构,并且迅速上手?
6、你基于你的脚手架做了哪些优化?
7、你们的项目文档一般都要记录哪些基本的东西?
8、有在项目中遇到过xss攻击吗?
9、你这个错误数据上报了哪些数据,怎么实现的?
10、成功抵御过多次攻击能具体说一说吗?
11、说一下你在项目中遇到印象深刻的项目场景,并且怎么解决的?
12、能说一下session跟jwt的优缺点吗?
13、你说用户登录之后要在session中加入user_name,为什么要增加?
14、jwt的整个流程怎么实现的?
15、实现jwt的实现遇到什么困难了吗?
16、如果同一部手机用户A登录了,更换了B登录,此时使用jwt会出现什么问题?
- 我觉得这里他给挖坑了,B登录了之后就会返回B用户的token,然后请求头带着的就是B的token,验证到的用户也就是B,我认为没有问题啊。我不太清楚他说的可能会有什么问题值啥情况,可能是我考虑不周全,如果有网友知道可以提醒一下我他想问的答案,让我学习一下。
17、当线上出了紧急bug的时候,你们是怎么处理的?
18、你们团队成员是怎么配合完成任务的?
19、你近2年的职业规划?
20、还有什么想问我的吗?
2、二面
1、事件循环的机制了解吗?宏任务和微任务的执行顺序是怎样的?
2、怎么理解闭包这个定义的,在平时工作中有用到闭包的使用吗,举个例子。
3、vue组件间的哪些通信方式?
4、一个父组件潜嵌套了子组件,他的生命周期函数顺序是怎么执行的?
5、vue的权限管理应该怎么做?路由级和按钮级分别怎么处理?
6、说一下你对虚拟DOM的理解
7、了解diff算法吗?vue的diff算法是怎样的一个过程
8、能说一下v-for中key的作用吗?
9、做过vue项目哪些性能方面的优化?
10、vue组件为什么只能有一个根元素?
11、如何实现路由懒加载呢?
12、客户端渲染和服务端渲染有什么区别呢?在之前的工作中有做过服务端渲染吗?
13、Vue长列表的优化方式怎么做?
14、Vue3相比Vue2有哪些优化?
15、为什么在模板中绑定事件的时候要加.native?
16、能说一下响应式原理的过程吗?
17、数组的响应式怎么实现的?
18、Vue是数据改变后页面也会重新改变嘛;this.a = 1; this.a = 2; 他是怎么实现异步更新优化整个渲染过程的?
19、render函数封装有什么特别的,或者用到比较巧妙的东西吗?
20、浏览器缓存的方式有哪些?
21、正向代理和反向代理的区别?
22、域名解析过程是怎样的?
23、TCP协议三次握手、四次挥手的过程,为什么挥手要4次?
四、公司四
1、你在项目中用到mongodb吗?
2、在项目中用到mongodb存储哪些数据?
3、mongodb的管道有了解吗?聚合管道怎么用的?
4、mongodb和的mysql优缺点?
5、你对事务性的了解是怎样的?
6、node怎么开启子进程?
7、在一台机器上开启负载均衡的时候,如果这个项目有用到定时任务,你怎么去控制这个定时任务只会执行一次?
8、你在egg中怎么开启子进程,怎么编写一个定时任务?
9、react用的多吗?
10、react组件间通信的方式有哪些?
11、vuex跟redux的区别有哪些?
12、computed和watch的区别?
13、watch和computed哪一个可以实现异步?
14、vue的通信方式有哪些?
15、vue的history模式和hash模式的区别是什么?
16、history模式下会出现404,怎么处理?
17、你能说一下闭包的优缺点吗?
18、内存泄漏和内存溢出有什么区别?
19、还有什么想问我的吗?
五、公司五
1.1、自我介绍?
1.2、常用的选择器有哪些,优先级怎么样?(除了这些还有其他的嘛)
1.3、垂直居中的实现方案有哪些?
2.1、你说的网格布局grid垂直居中有哪些属性值?
2.2、width:100%和width:auto有什么区别?
3、说一下cookie的作用是什么?
4、cookie有哪些属性?
5、设置cookie的domain用来实现什么功能?
6、懒加载的实现原理是怎样的?(除了你说的那一种还有其他的嘛)
7、vue中路由懒加载怎么实现?(除了你说的这一种还有其他的嘛)
8、说一下原型链的理解?
9、原型链proto这个隐式属性的实现原理是怎样的?
10、说一下vue中双向数据绑定?
11、vue中computed和watch的区别是什么?
12、说一下你们的前端登录流程是怎样的?
13、jwt是什么?
14、jwt由哪些部分组成?
15、你在项目中怎么实现打包优化的?
16、你说的这些优化方式是webpack哪个版本的?
17、你说一下项目中比较困难的事情有哪些(BFF处理模式)?
18、你们部署上线是怎么做的?
19、在项目中有使用jekenis和docker这些吗?
20、有什么想问我的吗?
人事面问题汇总
1、对自己的评价?
2、你有哪些兴趣爱好?
3、描述一下你自己的优缺点?或者用三个词语描述你自己?
4、你在公司主要做一些什么工作?
5、离职原因是什么?
6、在工作之外有哪些学习技术的方式?
7、公司的整个开发流程是怎样的,你跟团队成员如何配合完成任务?
8、你有女(男)朋友了吗(稳定性)?
9、你有其他offer吗(稳定性)?
10、如何提高工作效率?
11、与领导意见不统一时应该怎么办?
12、你觉得目前自己的技术在什么位置,觉得自己哪一块能力需要加强?
13、您还有什么问题想问我的嘛?
15、你的职业规划是怎样的?
16、入职之后如何开展工作?
17、是否愿意接受加班?
18、你能为公司带来什么?你希望公司给你什么?
19、在项目中遇到了什么难点问题,最后怎么解决的?
20、谈一下你在上一家公司整个技术开发流程,你负责哪些工作?
21、你希望自己以后的发展方向是什么?
接下来的计划
在这次的面试中,也发现了自己能力的不足。比如我之前通过node写了一些提升团队的工具,用于提升自己在团队中的kpi。但是在纯前端中可能只能作为一家加分项来看,因为如果问到很具体的node的内存问题、mongodb细节的问题,可能就会被问住了,整个面试体验确实会比较糟糕。
C市很多大公司都是用的react,我之前在项目中用react比较少,所以空余时间要把react用起来,不用起来就会忘。
然后vue3的源码和优化的方面也要继续看看了。
还有这一次没有投递大厂的原因是我没有刷算法,这一点在之前的求职过程中都没有重视起来。现在年限到这了,必须要刷起来,才能更进一步提升自己。
给大家的一个建议
我在面试的过程中有一个体会,就是:当面试官问你一个很大的问题的时候,你要怎么回答?
比如面试官问题,简单的跟我说一下继承是什么吧?
很多朋友遇到这样的一个问题,马上就大脑蒙圈了,脑袋里很紊乱,知道很多,但是无法把他们串起来,不知道从何说起,导致回答的结果不是很好。
所以像这些技能题,我们在记笔记的时候也应该用这样的方式去记忆和背诵。遵循下面的几个步骤就行了,套公式的方式,一点也不会慌乱。
1、解释是什么的问题。
2、解释这个技术的应用点、应用场景在哪里。
3、整理一下这个问题的优缺点是什么。
复制代码
我举一个例子来回答一下。比如面试官问:你给我讲一下闭包吧?
我就可以按照上面的归纳,分3步走的原则。
- 闭包是:能够访问其他函数内部变量的函数。
- 闭包一般会在:封装模块的时候,通过函数自执行函数的方式进行实现;或者在模仿块级作用域的时候实现;如:我们常用的库jQuery本身就是一个大的闭包。
- 闭包的优点是:
a、能够在离开函数之后继续访问该函数的变量,变量一直保存在内存中。
b、闭包中的变量是私有的,只有闭包函数才有权限访问它。不会被外面的变量和方法给污染。
闭包的缺点是:
a、会增加对内存的使用量,影响性能。
b、不正确的使用闭包会造成内存泄漏。
复制代码
针对上面闭包的回答,可能面试官又会继续问你:内存泄漏是什么啊,你能给我讲一下吗?垃圾回收机制说一下吧?内存泄漏和内存溢出的区别是什么?等等。
就是你回答完了这个问题之后,你可以先假设性的想一下面试官看到你的这个回答可能会问你什么。然后给自己提问深挖技术深度问题。
当然那不光是面试,自己平时学习深挖知识的时候,也可以用这种办法。
以上这3点,就是我在去年的面试,从自己的真实经历中的总结。
我觉得在求职的时候我遇到的问题,相信很多朋友有类似经历的朋友也会遇到。我就本着造轮子的这个心态,给大家输出一些流程化的经验,希望大家能在本次经济下行,行业萧条的情况下拿到好的结果。
另外,如果你想要更多关于前端方面的成长干货和学习方法与资料,欢迎你关注我这个账号「程序员摩根」,并且私信我。
里面有我最宝贵的私人学习经验,全都毫无保留分享给你,比如优质的前端编程类电子书,前端学习地图,前端入门到精通的学习路径、面试题等。
我的总结
网友评论