校招 未知部门 / 客户端-Android / 一面/二面
[面试日期] 2023-09-06 [面试时长] 未知
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>快手安卓客户端面经</h2>
<p>好久没面试了,八股文肉眼可见的磕巴。</p><p></p><p>一面</p><ol><li>JVM内存模型,各个内存区域的用途。</li><li>哪些区域是线程共享的,方法区为什么线程共享?</li><li>哪些区域不会产生OOM。</li><li>垃圾识别和回收算法,哪些对象可以成为GCRoot?</li><li>如何确保所有的对象都被穷举(???)</li><li>垃圾收集器的分类?并行收集器的原理?(没答上来)</li><li>类和对象的加载过程?双亲委派机制?</li><li>双亲委派机制的好处?如何自定义类加载器?</li><li>自定义类加载器的用途?生产环境中有没有用到过?</li><li>动态代理的实现和原理?生产环境中有没有用到过?</li><li>除了动态代理如何实现AOP?(答了字节码插装,把自己往坑里带)</li><li>插装有哪几种方式?生产环境中有没有用到过?</li><li>注解的作用?有哪几种分类?元注解有哪几种?生产环境中是否用到?</li><li>Java多线程问题的本质是什么?(答了线程同步问题,面试官说不太对)</li><li>volatile关键字的作用和使用场景?除了单例还有啥?(没答上来)</li><li>线程池的原理?有哪几种拒绝策略?</li><li>线程的生命周期?是否可以直接调用stop终止线程?</li></ol><p>算法题:反转链表二:从n到m的结点进行反转。</p><p></p><p>二面</p><ol><li>项目中是否用到数据库?数据库的三个范式?</li><li>如何进行分页查询,sql语句怎么实现?</li><li>手写一个双重校验的单例模式,为什么要进行双重校验。</li><li>View的绘制流程,如何通过自定义view实现一个动画效果。(答了更改属性后进行重绘)</li><li>重绘需要调用哪个方法?invalidate和requestLayout有什么区别?</li><li>View的事件分发机制?子view的onTouch方法返回true后,是否还会继续分发?</li></ol><p>算法题:求出二叉树的深度</p><p>感觉二面比一面问得少一些,问题也更加常规。</p><p>对于知识的学习还是要更加系统,不能知其然不知其所以然。</p><p></p><p>总结:</p><p>一方面是工作确实很忙,每天都在写需求,解决线上问题什么的。</p><p>一方面是自己确实有些懈怠,理论基础忘的比较多。和实际项目的结合也不是太好。</p><p>给大家的建议就是,调整心态,不要传播焦虑,做好自己就足够了。</p>
AI 推荐面试题
