24春招面经

作业帮

一面 3.1

先拷打了一顿项目一些业务的实现细节,完全没预料到,好在印象都还有,口胡都能胡过去,所以有点汗流浃背,但不多

主要是照着简历的项目经历问的技术。

  • 你的性能优化主要是做的那些工作,原理是什么(简历上的
  • 讲讲JNI
  • 用过什么JSON。我讲了讲Flutter的json跟native的json(FastJson)
  • Workmanager做了什么。我讲了讲本地推送的实现
  • 你对MVVM的了解?(讲了讲MVC-MVP-MVVM的特点,讲了讲MVVM优势
  • 项目里你做的比较难的一部分?
  • 其他的记不太清了

然后是安卓FrameWork

  • SharedPreference相关,实现原理,多线程访问安全性
  • 网络请求用过什么?我:OkHttp。能展开讲讲吗?不能
  • 应用启动模式。ez
  • 内存泄漏的场景有哪些?解决方案?
  • 问了点Linux,有哪些进程同步机制

JVM:

  • 垃圾回收机制。
  • 双亲委派机制是什么,有什么好处吗

计网:

  • http跟https?了解的不多
  • tcp跟udp

其余记不太清了

算法题:反转链表+写一个单例模式,险些汗流浃背

二面 3.7

又一顿项目一些业务的实现细节。

简历里有的:

  • SharedPreference的apply跟commit区别?展开解释一下你说的同步和异步是什么?
  • Workmanager原理?不太清楚
  • 又问了一遍优化

安卓

  • methodChannel原理?
  • viewStub、include、merge
  • 事件分发机制
  • 跨进程通信了解哪些

Java:

  • 锁了解哪些?类锁跟方法锁的区别?(这个没答上来
  • 线程池了解哪些?每太看过,答得挺烂
  • 四种引用?

其他忘了

算法题:二分查找

阿里技术线

一面 3.5

  • 提到了鸿蒙的经历,让我展开讲讲有什么理解。讲了以前的FA、现在Stage的一些场景,ArkTS一些东西

  • 了解了一下部门和项目组的经历和状态

  • 拷打线程池,问了一些基础知识,提了一个场景,怎么确定线程数

  • 简历里提到的性能优化是怎么优化的

  • JVM垃圾回收机制

  • 内存泄漏的场景与解决方案

  • 问了一些Linux:讲了讲Fork。Fork跟Clone的区别(这个不会

  • 算法题是一个业务场景下的LRU与LFU的实现

  • 安卓FrameWork:事件分发机制、UI绘制流程

    • 追问了OnMeasure跟OnLayout的区别,没太了解,只知道OnMeasure时组件宽高是不准的

其他的记不太清了

二面 3.11

跟作业帮差别非常大

介绍了我所在的部门以及部门间合作关系,部长时主要做的东西

讲了讲项目为什么要用Flutter?有什么优势?

用户使用时出现的问题怎么反馈?

Native跟Flutter比有什么区别or各自的特点?

IOS那边是怎么处理的,跨平台会不会有什么问题?

你们项目的需求来源是什么?到落地实现的过程是什么?

提到了热更新,问了技术选型、优点、原理

渲染优化是这么做的?最后是怎么评估验收的?

你觉得鸿蒙UI设计上跟安卓有什么不一样吗

其他记不太清了。

HR面 3.12

讲讲在部长期间主要做什么工作?工作期间对你最大的改变是什么?你做项目遇到的困难?

你主要的学习渠道?

你的城市选择?为什么要选杭州?为什么不留在北方?

考研的经历?以后的发展规划?职业的选择?

OPPO

被我拒了,不太想去