三年Android开发怒怼某大厂HR,怒刷1549页面试题科大上岸

在这里插入图片描述

最近,有个读者联系了我和我诉说了最近他面试碰到的一件很气愤的事情。为什么方便就称呼小华了。

小华目前是三年Android开发,从上个月就开始一直在找工作,因为今年的大环境不好,面试的时候也是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作。但是也没有气馁多久,又开始面试以及分析总结。

但是在15号和一名某大厂HR聊天发生了争吵,原因是某大厂的HR说出了“现在二本的程序员都排不到面试,能约到面试算你烧高香了”的话,引发了小华的十分不适,便在之后与之发生了长达10几分钟的对骂。

说实话我当时也不敢相信现在还有这样的HR,不应该呀,虽然之前刷视频也看到过,自己也总以为是剧情。后面我又问了不少人关于HR的话题,都是一些不太好的评价,总的来说就是
以前是HR求着我们面试,现在反过来了,很多hr的措辞就不怎么好了。当然这种人应该也不多,希望大家面试的时候不要遇到。

小华在抓住6月的尾巴,成功通过了科大的面试。他也说虽然现在工作没有以前好找,但是要提前做好面试准备,找工作也没什么问题,尤其忠告像他这样蛮久没有出来面试的程序员,一定要做好准备再面试,以前的面试和现在不一样了。

这个确是是这样的,很多一年没有面试的朋友,刚刚离职面试可能会遇到这个问题,有不少公司注重的技术不一样或者已经变了。

为了节省大家收集资料的时间,我为大家分享最近整理的一份大厂面试题

最后有面试题详解,省时间的可以直接拉到最下面

快手

一面
  • viewBinding的原理

  • Recycleview滑动怎么优化

    • 缓存设计

      • 一级缓存和二级缓存的区别

      • LayoutManager原理

  • 绘制

    • onMeasure描述一下

    • onDraw描述一下

    • invalidate一定会调用onDraw么

  • 事件分发

    • 事件是由谁分发的
  • fragment

    • 销毁与恢复

    • 与Activity的通信

  • Activity

    • Activity的生命周期

    • 销毁与恢复

  • 国际化插件

  • hashmap

    • 2^n的原因(有多个原因)

    • 扩容

  • 22反转链表

二面
  • 协程原理

  • rxjava原理

  • leakcanary

    • 如何分析引用链
  • 线程池

  • 给你一堆数据,如何画曲线?

  • 事件分发

  • 责任链模式

  • 汽车加油问题

三面
  • 有序无序时删除链表的重复节点

    • 都删除

    • 保留一个

  • 如何实现快手和抖音的整屏滑动效果

  • 如何让运营能看懂社区文章

  • 项目中的难点(问得很细)比如有没有遇到什呢难点呀

美团

一面
  • 线程池原理,几个参数

    • 线程池里面的阻塞队列是什么类型
  • 设计模式

    • 状态模式和策略模式的区别
  • sleep和wait的区别

  • android序列化

    • Parcelable与Serializable
  • Handler

  • Hashmap

  • 深拷贝与浅拷贝

    • 如何实现深拷贝
  • sync和Reenterlock

    • 遇到异常的区别
  • 可重入锁和不可重入锁

    • funA,funB,funC,funD
  • postInvalidate和Invalidate的区别

    • requestLayout
  • 两个有序链表合并

  • anr 分类及原理

二面
  • 基本都是问的项目

支付宝

一面
  • 项目

  • viewmodel原理

  • 用了哪些jetpack的东西

  • livedata为何具有生命周期感知能力

二面
  • shareperference如何保证线程安全,

    • 为什么不是进程安全的

    • 如何实现进程安全的

  • viewmodel是如何解决内存泄漏问题的?能解决么

  • mmkv共享内存和binder的区别

  • magic ocr项目

  • 有做过多线程开发么

  • room如何实现orm的

  • kotlin和java产物一样么有

  • 各种图片格式的区别

  • 如何保证内存与文件的同步

  • 开一个线程commit,commit不用加锁么?

  • bitmap

    • 怎么确定bitmap被复用了

    • 一张图片占用的内存大小

下面是字节面经:

一面
  • MVC,MMVM,MVP

    • MMVM如何解决MVP中存在的问题
  • 内存泄漏

    • 内存泄漏的几种情况

    • LeakCancary分析内存泄漏的原理

  • 手写单例模式,并分析

  • 算法

    • 找到两个数组中的两个元素的和等于某个值
二面
  • activity

    • onSaveInstance
  • service

    • StartService和BindService的生命周期
  • 求浮点数的平方根

  • Binder的原理

  • 设计模式

    • 工厂模式

      • 抽象工厂模式和普通工厂模式
    • 建造者模式

  • 启动模式有几种

  • 共享内存原理

    • java能实现共享内存么
  • kotlin协程的四个dispatcher及区别

三面
  • window,decorview,ViewRootImpl的关系
    面试官 想让你回答如何window和windowManager如何联系的。viewRootImpl是联系window和decorview的纽带

  • 进程间的通信方式

  • AIDL的用法

    • 用法和原理
  • 事件分发

    • onIntercept在哪用

    • 事件分发底层的产生

  • RecycleView的用法

    • 里面的各种Manager作用
  • wake lock:使屏幕常亮

  • Activity是如何被限制到状态栏和导航栏之下的

  • canvas

    • canvas的save和restore的作用

    • canvas的density有什么作用

  • vsync

    • vsync是如何生成的
  • android中异步一般怎么实现

  • android中内存泄漏发生的情况

  • 如何去获取view的宽高

  • 悬浮窗

    • 如何实现一个悬浮窗

    • 一个悬浮窗悬浮在顶层,覆盖了底层的app的启动图标,如果让事件启动图标接收到click事件

  • Android M之前与之后的权限变化

  • ContentProvider

    • 使用

    • 如何找到该contentProvider的

  • RxJava中map和flatmap的区别

  • view的绘制

    • viewgroup是如何刷新的

    • onMeasure,onlayout,onDraw分别起什么作用

    • onLayout的时候可以layout自己么?

  • AndroidManifest

    • 和的区别
      一个是系统的权限,一个是自定义的权限
四面
  • 两道算法

    • 洗牌问题

    • 接雨水

  • 两道设计

    • 面向对象原则

    • 用代码描述你觉得最有设计感的项目

完整版文档已整理打包,需要的伙伴们可扫描下方二维码+v私聊哦~

↓↓↓【预览】↓↓↓

img

猜你喜欢

转载自blog.csdn.net/Android23333/article/details/131440856