秋招第一挂——米哈游
📅 面试时间:2025 年 7 月 21日
🏢 公司:米哈游
💼 岗位:前端开发(提前批)
🧑💻 面试整体回顾
近期许多公司陆续开启秋招,我在上周收到了米哈游前端提前批一面的邀请,还是挺激动的,毕竟提前批等于神仙打架。
趁着本周公司没啥大需求,我刷了一些 LeetCode 和八股文做准备。面试当天感觉整体还不错,强度略高于实习面,但在可控范围内。以下是我整理的面经记录(无录音,仅回忆):
📝 面试题汇总
一、自我介绍 & 项目经历
- 自我介绍
- 介绍两个项目:
- 实习项目:D2C 提效方向(如 Figma to Code 自动化)
- 业务项目:负责业务模块或优化场景
二、前端基础 & 网络知识
JavaScript 类型判断方式
typeof
:用于原始类型判断,typeof null === 'object'
instanceof
:检查原型链Object.prototype.toString.call()
:最精确constructor
:不稳定,可能被修改- 对比它们的使用场景和优缺点
垂直居中常见写法
- Flex 布局:
display: flex; align-items: center;
- Grid 布局:
display: grid; place-items: center;
position: absolute + transform
:top: 50%; transform: translateY(-50%)
- 单行文本:
line-height
table-cell
:早期兼容方案
- Flex 布局:
从输入 URL 到页面渲染的完整流程
- DNS 解析 → 建立 TCP 连接(三次握手)
- 发起 HTTP 请求 → 接收响应
- 解析 HTML → 构建 DOM & CSSOM → JS 执行 → 页面渲染
Cookie / localStorage / sessionStorage 的区别
特性 Cookie localStorage sessionStorage 生命周期 可设置 永久 页面关闭失效 存储大小 ~4KB ~5MB ~5MB 是否随请求发送 ✅ 是 ❌ 否 ❌ 否 访问方便性 一般 ✅ 简单 ✅ 简单 浏览器缓存机制
- 强缓存:
Expires
和Cache-Control
- 协商缓存:
Last-Modified + If-Modified-Since
、ETag + If-None-Match
- 加载时判断缓存策略是否命中
- 强缓存:
DNS 解析过程
- 本地缓存 → 系统缓存 → 本地 hosts 文件
- 向 DNS 服务器发起递归查询(根 → 顶级域 → 权威域)
CDN 原理
- 内容分发网络,缓存静态资源到边缘节点
- 缓解源站压力,提升响应速度
- 具备回源机制,缓存失效自动更新
✍️ 手撕算法题
第 K 个缺失的正整数
✅ 题目描述:
给定一个递增排序的正整数数组 arr
,表示某些正整数被缺失了,返回第 k
个缺失的正整数。
结语
慢慢来吧,还是对自己太自信了,没有认识到自己不足,学历在秋招确实是我的一大弱点,但客观如此也没法了...争取转正吧
