面试复盘总结

面试复盘

前言:刚经历过大二下的学期末面试,将提问的问题进行了总结,方便后续查看复习。

一,项目

  1. 弱网条件下,你是怎么判断弱网的?

  2. 60fps是怎么监测的?

  3. 你项目中用了状态锁,它是悲观锁还是乐观锁?

  4. 自己的算法里做了什么优化,有什么区别,借鉴的时候借鉴了什么?

  5. 大文件分片上传用什么协议,http还是WebSocket,两者哪个更好?

  6. arraybuffer和blob的区别,真正计算的时候用的是哪一个?

  7. worker有哪几种worker?

  8. 一般传输的数据会有多大,计算md5的时候怎么快点(可以去开头,中间,结尾等块)?

  9. 性能优化方面,什么指标,用的什么方法,如果是lighthouse看哪些指标?

  10. 除了适配器模式,你还了解其他模式吗?

  11. 讲讲你这设计的两个钩子是干啥的,在什么时候用到?

二,AI

  1. 讲讲mcp,rag(查找方式),skill(常见的skill有哪些),怎么写出一个比较好的skill?

  2. function call是什么吗?

  3. plan模式的另一种说法?

  4. 了解过harness吗,大概讲一讲?

  5. codereview的时候怎么用ai,以及你自己会关注哪些点?

  6. 平时用ai用的多吗?怎么用的?怎么让token的消耗更少?

三,vue源码

  1. 讲讲热更新?

  2. vue渲染原理 前后对比(code watcher 和 Observe函数)?

  3. 讲讲diff算法,其中提到了最长子序列算法,虚拟dom一定比真实的dom要好吗?

  4. 单页面了解吗,seo不友好,怎么让他友好,可以用ssr,以及其他的,vue算什么csr?

  5. vue的template到render的过程?

四,网络

  1. url输入之后发生了什么

  2. DNS解析,其中的涉及到哪两个算法,(迭代和什么来着)

  3. 浏览器缓存有哪几种?

  4. 说说常见的对应的请求报文和响应报文

  5. 非对称密钥和对称密钥的区别

  6. http1.1到2.0的区别

  7. tcp和udp的区别,讲讲tcp的三次握手

  8. 讲讲TLS

  9. 讲讲强缓存和协商缓存

五,工程化

  1. webpack和vite的区别,为什么选用webpack,plugin和loader的区别,常用的loader说一下?style-loader最后会将文件转换为什么?(js)

  2. 项目是怎么优化的?大概讲一下?

  3. Tree Shaking是什么,什么情况下会失效?(cjs)

  4. ts中的工具类型,以及泛型,any和unknown的区别

六, 常见八股

  1. commonjs和esm的区别?(其中有涉及到Tree shaking)

  2. js为什么是单线程的?

  3. 浏览器的渲染原理,为什么是GPU来渲染图层,GPU和CPU的区别是什么?

  4. npm yarn pnpm的区别,(从左到右的更新都是在不断解决已有问题,幽灵机制,软链接,硬链接)

  5. 常见的网络攻击类型,csrf说一下是什么

  6. script中的defer和async的区别?它们是在DomcontentLoaded前执行还是之后执行

  7. domcontentload和load的区别

七,面试心得于总结

1.多多面试 :锻炼在被审视的情况下回答更有逻辑化点。

2.引导面试官 :不要假设面试官了解你的项目,大部分面试官几乎都不太了解你的项目,甚至就算了解可能具体的技术点他也没有涉及到过。他会根据你的描述来去发问,抓住一个点进行深挖,无论这个东西涉及到什么(算法,计算操作系统,计算机组成原理)。所以你讲述的时候就要有引导性,引导他们往你会的熟悉的方向思考发问

3.自我介绍 :介绍的时候项目不用过于详细,如果面试官想了解的话他会抓住他感兴的点继续进行问的。

4.项目 :你要对你的项目1000%的了解,每个问题就像是一个网,以此点为基础然后向不同的方向拓展延伸。就比如项目中用了大文件分片上传,上传涉及到什么线程(你项目里有哪几个线程);网络传输(用什么协议,http?websoket?两个哪个更好?);你上传的文件有多大(如果上传超大文件,你难道要用户一直等着吗?有没有做相关的技术处理)。

5.八股 :准备八股题目时也不能只单纯的背答案,题目涉及到的某个点面试官也会去拓展延伸,背诵的时候也要针对一个点往深处研究。

6.深度构建知识网:当前的学习需要建立连接,每个不同领域下的知识点的关联,要让这些不同垂直领中的知识在你脑海中形成一张网。

相关推荐
rannn_1114 小时前
【力扣hot100】链表专题|160、206、234、141、142
java·算法·leetcode·链表·面试·开发
众人皆醒我独醉12 小时前
分布式训练与 Ring AllReduce:从单卡绝望到多卡协同
人工智能·面试·llm
LiLiYuan.12 小时前
【字符串常量池】
java·开发语言·面试
圣殿骑士-Khtangc14 小时前
Go-Map面试核心考点从哈希冲突到并发安全的完整解析
面试·golang·哈希算法
码匠许师傅15 小时前
【C++ 面试真题】聊聊 volatile 和 mutable
开发语言·c++·面试
黄敬峰16 小时前
Harness 工程:用 LLM 当评委,自动生成、评测、择优一条龙
面试
ocean210316 小时前
八股刷题之:变体树
面试·面试题·面试真题·变体树·八股精·深度拓展·高效刷题
何时梦醒17 小时前
第三篇:React 组件化开发 — 函数即组件的哲学与实践
react.js·面试·typescript
胡萝卜术17 小时前
编译期与运行期的双重防线:从 TypeScript 类型之争到 LLM 输出的自动化择优
前端·设计模式·面试
用户8524950718417 小时前
Harness 工程:用工程化手段驾驭 LLM,而不是迷信一次回答
面试