wxg 公众号 & 小程序前端一二面

一次很难忘的面试经历,第一次经历从操作系统到计网、算法、八股都这么深的面试,虽然挂掉了,但收获蛮大的,再战!

一面

算法

  • 39. 组合总和 - 力扣(LeetCode)
  • LRUCache,手写O(1),不准用Map Set

interface FileInfo {
  name: string;
  require?: FileInfo[];
}
function getDepList(requireTree: FileInfo): string[];
// 应返回:['F.js', 'E.js', 'D.js', 'C.js', 'B.js', 'A.js', 'page.js']

const requireTree: FileInfo = {
  name: "page.js",
  require: [
    {
      name: "A.js",
      require: [
        {
          name: "C.js",
          require: [
            {
              name: "F.js",
            },
          ],
        },
      ],
    },
    {
      name: "B.js",
      require: [
        {
          name: "D.js",
          require: [
            {
              name: "F.js",
            },
          ],
        },
        {
          name: "E.js",
          require: [],
        },
      ],
    },
  ],
}

实习经历

  • 你说你用到了rspack,请你说一下rspack原理吧,对比webpack有什么优势
  • rspack优秀的架构?解决问题的算法有了解过吗?(我:解决了一个死锁)
  • 模型都是你自己跑的吗?
  • 说一下TTI,计算原理,开始计算的起点(没答好,只说了起点是FCP)

八股

  • 进程和线程的区别
  • 栈内存和堆内存有什么区别,什么情况下用哪个?
  • 浏览器有哪些进程?
  • 重绘和回流说一下,如果用了css transform是重绘还是回流?
  • 计算机网络缓存有哪些
  • vue和react主要区别
  • 在选技术栈的时候你会选react还是vue?
  • 说一下微信小程序的双线程架构以及优势
  • 怎么解决死锁的

二面

  • rspack是怎么实现的?遇到过什么问题?rspack内置SWC压缩JS代码有问题,问题在哪?怎么解决?
  • nodejs怎么和cpp/rust通信的
  • 有了解过napi、node-addon吗?
  • 说一下DLL和SO文件怎么实现的,node是怎么引入这些文件的
  • 你说你用过字节的lynx框架中有遇到Android和IOS双端表现不一致的,你能解释一下为什么吗?
  • 从渲染引擎出发,你说一下react native和flutter你了解多少?
  • 对比lynx和react native以及flutter,你说一下lynx和flutter还是RN更像?

我:不知道,但是我可以猜一下,我在用抖音的时候发现评论区的水波纹只在安卓端有,IOS端没有,而flutter是可以保持双端一致的,所以我推测是和RN更像,用Flexbox + 原生组件去构建UI

  • 了解过V8的JIT吗,不了解,说一下你自己的理解(我:从tailwind的JIT出发,说大概是补充编译时的缺陷)
  • 问TTI怎么计算的(从FCP起点开始)
  • FCP LCP LCP FP这些怎么算的?
  • 页面很卡你怎么排除?
  • 如果有一个动画很卡你会怎么做?(css3硬件加速(transform),脱离文档流)
  • 你对vue、react怎么理解的
  • 为什么说react不符合直觉而vue符合?
  • 说一下vue原理?响应式原理是怎样的?你从源码中收获了什么?
  • 分析一下快排的时间复杂度怎么算出来的?
  • 了解过cpp虚函数吗?(不了解)
  • cpp编译过程了解吗?

用gcc编译之后会生成一个out文件,然后可以直接执行它,也可以用objdump debug...,这里说错的,应该是GDB调试,objdump是看二进制文件的

  • 了解过线程竞争吗?
  • 多线程竞争安全吗?解决方法?(加锁,信号量)
  • 你最近学的一个很酷的东西?

反问:

  • 你们组做什么的(小程序运行时 & 渲染引擎)
  • 对我有什么学习上的建议嘛
  • 大概多久有结果

已挂

全部评论
太逆天了
2
送花
回复
分享
发布于 04-23 21:48 北京
同学你好,内推私聊我。我们团队是阿里巴巴手淘交易终端团队。业务上,主要负责购物车、下单、订单、物流等交易电商最核心的业务,每天有千万级别的用户,上亿级别的流量;技术上,我们探索终端最前沿的技术。现在正值实习生春招,有Java/C++/JS等大量的岗位HC,转正概率大,秋招直通终面。
点赞
送花
回复
分享
发布于 04-23 19:48 北京
滴滴
校招火热招聘中
官网直投
给雪狐神贵了
点赞
送花
回复
分享
发布于 04-23 21:00 安徽
顶级难度。。
点赞
送花
回复
分享
发布于 04-24 01:29 北京
好难啊
点赞
送花
回复
分享
发布于 04-24 08:49 湖北
LRU不用Map Set的话怎么实现O(1)啊
点赞
送花
回复
分享
发布于 05-06 22:59 湖北
已挂?
点赞
送花
回复
分享
发布于 05-09 23:15 北京
crazy这难度
点赞
送花
回复
分享
发布于 05-17 14:07 湖北

相关推荐

------地狱级别的,个人找实习最汗流浃背的一面,面试官是公众号前端负责人-----二面 2h20min 已挂1. 原定下午三点,提前半小时加微信开始笔试.上来四道算法,链表各节点相加.打家结舍III,比较两棵树是否相等,找中位树时间复杂度为O(log(m+n)).A了三道半.给一个小时.后面开始面试没开摄像头.问了一些数据结构,优化,堆数据结构.2. 问项目,虚拟列表深挖,防抖怎么优化,如何计算,不定高情况,白屏优化3. 接着白屏缓冲区优化问题,除了缓冲区还有什么方法?答:提前渲染.问如果正在渲染,用户操作怎么办.axios请求拦截器里面判断,阻止渲染,还有方法吗?不会了.面试官提示说把渲染这个大任务切片放到事件循环中执行,问怎么实现?    不会4. vue原理?面试官说响应式原理那些我们肯定都会,问一个场景题,for循环100次,页面是怎么展示? watch队列去重,nextTick队列缓存一次事件循环.5. nextTick原理.6. CSS三栏布局.如何平均布局,不用flex7. CSS如何画一个三角形8. axios底层原理?除了axios,xhr,fetch,还有什么可以发送请求.jsonp,提示还有表单.9. js事件循环过程10. fps帧率,前端如何模拟这个fps来判断页面是否卡顿?提示如何检测一秒内的事件循环?不会11. 文件如何切片上传?二进制流截取,问blob对象具体操作?12 进程通信方式.追问C++如何实现虚拟内存?不会13. 有哪些锁?自旋锁,互斥锁,读写锁,乐观锁,悲观锁.追问C++怎么实现自旋锁,我说了Test-and-Set那个方法,但表达不太清楚,面试官让我回去再看看,确实也不是很会.不会14. 中间穿插闲聊:哪里人,工作需要到岗,问我意向是深圳?哪里都可以,但你也不会要我啊哥.绩点前10%是综合还是纯成绩,学校交了面向对象什么的,导致后面问我操作系统.15. 反问:学习建议,面试官说校招看综合素质,不会一进来就给很难的业务,主要是培养.学习知识时候去拓展学习.社招社会人要求进来直接能上手赚钱.还有几轮面试? 三轮技术面(啊?),也可能两轮.面完后第二天下午挂
点赞 评论 收藏
转发
12 13 评论
分享
牛客网
牛客企业服务