早上刚面一面,等下下午二面

#社招##社招可私信#
(分享下面试经验,,要是有朋友看上我的,求内推)
刚面了下上海的一家
* 一个是面试我业务上的问题, 有以下几点
* 问我优化上的问题
* 1、问我在项目中做了哪些优化,
    我主要是讲解webpack打包构建相关的优化 比如 thread-loader 开启多进程;开启lazyCompilation;升级webpack,开启持久化缓存等
    同时还说的项目的结构的优化,比如抽离公共组件,动态加载模块,引入eslint规范之类

* 2、另外还问我业务相关的,比如遇到什么难题
  我回答:其实在实际场景中,如果一定遇到实在解决不了到问题,一定要及时求助,在实际开发中,不怕你不会,就怕你不说...balabala

* 另一方就就是八股文 + 场景题了
* 1、比如浏览器缓存:我答了强缓存 、协商缓存 、启动缓存
    接着他深入问我:浏览器第一次请求服务器,或者刷新页面请求服务器等,使用到了什么缓存,,,我感觉说的有点模糊,所以就只说了肯定不是强缓存

* 2、然后问了我vue2和vue3的区别
  我的回答:
    一个是Proxy取代defineProperty,我就直接手写了个reactive() + track() + trigger() 来实现响应式,同时对比了下defineProperty
    还问我了2 和 3 diff算法的区别,我只知道2是双端比较法,详细说了这个,3的最长递增子序列法我不太清楚,感觉答的不好...
    另外的一些区别,比如写法之类的,因为太表层了,就没说

* 3、问我react和vue的区别
      我的核心思路是两点
      一个是围绕着 react的核心是 immutable来答, vue是 mutable来答
      另外一个就是从渲染流程来答 react的渲染流程分为render + commit阶段,着重讲了render阶段 生成vdom, fiber 和 diff 比较的过程....
      对于一些其他的 其实vue3的写法,我感觉向react靠近,比如我在vue3项目中就经常用到了jsx, 然后支持ts语法等等,也都比较灵活

* 4、问我全局存储状态
      我回答 vue中是vuex  react是redux
      不过我还说,在实际项目中,我图方便,对于一些全局常量我就直接挂载window下,一些小的不用一直存储的变量,就直接使用$bus, 然后一个大模块内,就直接使用provide + inject

* 5 另外还问到了我小程序的
  我是使用wechat原生开发中工具,,就着重讲了下双线程,以及它与react vue相似的地方

* 6 js相关的,问了我闭包,,我本想手撕下代码写个防抖节流之类的,他说节省时间随便说说就好,

* 7 问了我浏览器优化指标
  我回答了 lcp 以及 实际项目中我如何针对lcp做优化的
  然后说了下fid

* 8 问了我css相关了, 比如在less中用变量 实现动画之类的,还问了我echarts的实现原理
  在实际项目中 我很少用这些  直接用一个ui库,,然后对margin padding 之类缝缝补补,,css相关的我太菜了
  我本来想说echarts是怎么用的,,他直接打断我说原理,我就一脸懵

总体来说,我的缺点还是对css不太熟悉
另外,求内推!!!!
全部评论

相关推荐

02-05 15:22
引言“明明刷了几个月题,面试手撕代码还是大脑空白…” 最近在牛客讨论区看到不少同学吐槽,明明LeetCode刷题量已经卷到300+,却在面试中频频翻车。作为经历过秋招斩获6家大厂offer的过来人,我想说:盲目堆砌刷题量 ≠ 面试通关。今天分享3个容易被忽视的“面试雷区”和应对策略,助你跳出无效内卷。陷阱一:过度依赖题解,失去独立思考能力典型表现遇到新题5分钟没思路直接看答案背诵最优解代码却无法解释“为什么这么做”破局方法✅ 设置“痛苦阈值”:新题至少尝试30分钟再参考答案✅ 建立解题日志:记录自己的错误思路和优化过程(如:暴力解法 → 发现重复计算 → 引入DP)✅ 模拟面试场景:用牛客模拟面试功能随机抽题,限时白板编码案例:同学A在面试中被要求实现“带随机指针的链表深拷贝”,虽然做过类似题,但面试官追问“如果不允许额外空间怎么办?”时,因从未思考过变种问题而卡壳。陷阱二:忽视代码沟通,把笔试当面试致命误区闷头写代码不解释思路忽略边界条件检查(如:输入为空、数值溢出)正确姿势🎤 开口说思路:先明确问题约束(“假设节点数不超过10^4,那我可以用O(n)空间”),再分步骤拆解🧩 防御性编程:主动提出测试用例(“我先测试链表为空的情况,再处理…”)✍️ 代码即文档:变量命名自解释(用slow/fast代替p1/p2),关键逻辑添加注释面试官原话:“比起直接写最优解,我更想看候选人如何把模糊问题转化为可执行的代码逻辑。”陷阱三:算法与工程经验割裂残酷真相面试官常从项目经历中延伸算法问题(如:“你的分布式项目里如何快速检测环路依赖?” → 图论问题)应对策略🔗 项目复盘法:针对简历中的项目,预设可能的算法延伸问题(如:高并发场景 → 限流算法;缓存设计 → LRU实现)💡 技术闭环思维:在GitHub建立“算法+场景”案例库(示例:用并查集优化社交网络好友推荐)参考模板:python复制# 项目延伸算法示例:电商库存系统的并发扣减 → 乐观锁 + 环形队列实现class InventoryManager:    def __init__(self, stock):        self.ring_buffer = [{'stock': stock, 'version': 0} for _ in range(10)]  # 通过版本号避免CAS冲突        def deduct(self, quantity):        # 实现细节见个人GitHub...结语算法面试本质是系统性工程,牛客的题库、面经、模拟面试功能都是绝佳的训练场。但更重要的是建立“解题元认知”——理解面试官如何通过题目考察你的分析能力、工程思维和沟通素质。互动话题:你在面试中踩过哪些坑?欢迎在评论区分享经历📚#校招攻略#面经精选 #算法进阶
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务