人生第一次面试。面试官人真的很和善,基本就是属于聊天的方式来问问题,有些说得不对的地方他还会举例子来更正我,面试体验拉满。
开场就是面试官介绍部门和业务,然后礼尚往来就让我做下自我介绍。
前面就根据简历上的项目来问问题,项目都是很基础的玩具项目。面试问题上,个人感觉答得不是很好,还有感觉说着说着就没底气了,
前面基本上都围着简历问的,而且是比较开放的问题,想让我说下自己的思考:
说一下项目中遇到的问题?
如何设计复用的逻辑?(瞎答一通,没有很理解这个问题,感觉是听错了)
为什么选择服务端进行渲染?
为什么用Pinia而不是vuex做状态管理?
如果把所有状态都用全局状态管理会有什么问题?
对于一个状态如何考虑是否应该提升到全局状态?
如何做首屏优化?
如何保证token的安全?
(提了下XSS,有点混乱,没答好)
https能保证传输绝对安全吗?
为什么选择MongoDB?
Mongo的性能问题?(后端是真不熟)
如果有大规模访问你的接口,或是有爬虫如何进行处理和优化?
差不多二十分钟吧,面试官还说没事都是开放问题无非对错,你说的都是对的
然后进入计算机基础八股环节:
进程和线程
进程间通信方式
了解的设计模式
vue中用到了什么模式?
然后引出手写题。后面的题面试官都会写好一个框架,只需填核心代码就好
手写发布订阅
看代码写输出:
1. 一个作用域相关的输出顺序 (好像说错了,面试官也没指出来,下来试了一下暂时性死区直接就报错了后面就没输出了)。
2. 一个微任务宏任务的输出顺序,看我博客有写就没让我解释了。
最后一个题:
给你一个文件目录,让你用node的几个api在文件系统中生成对应的结构。面试官见我简历上没写node,就自己写了几个文件操作的函数声明让我调用。(写到最后感觉代码结构写得好烂,而且当成同步代码写了)
后面的题都写得不是很快,一共写了差不多30分钟?
最后问了下最后道题的时间复杂度,我说就是遍历树的复杂度转头答了个n方T﹏T。下来想了下应该是n吧。
然后面完就约了第二天的二面。二面不太记得了就不写面经了,体验也很好,问得也不是很复杂,比一面多了几道手写。希望能有offer