Android面试高频问题,必知必会!!!

基础问题

  • recyclerview和listview的区别;两者性能之间的差距

  • view绘制原理、绘制流程,自定义View的操作,如何获取view的宽高,自定义View如何提供获取View属性的接口?

  • HashMap,HashMap底层,HashMap线程安全

  • 线程和进程的区别

  • Handler,通过Handler传递的线程对象的生命周期,传递的时候涉及几次拷贝?

  • RecyclerView和ListView的区别,缓存机制,RecyclerView的优点

  • ANR,ANR的检测

  • tcp/ip协议,tcp和udp的区别,tcp实现可靠传输的机制,tcp三次握手,代码层面咋实现

  • 平台:LeetCode

  • 手撕:二叉树的层序遍历,合并两个有序数组

  • 算法二叉树前序遍历 + 快排 ,n叉树的序列化和反序列化,二叉树z字形打印

难点问题

  • java多线程怎么安全终止一个线程

  • java GC机制,java和C编译的区别

  • int转byte,int转char

  • 抽象类和接口区别,抽象类的意义,抽象类与接口的应用场景,抽象类是否可以没有方法和属性?,接口的意义

  • 泛型中extends和super的区别

  • Serializable 和Parcelable 的区别

  • 常用数据结构

  • 列举java的集合以及集合之间的继承关系

  • HashMap的实现原理、数据结构、源码理解

  • HashMap如何put数据?怎么手写实现

  • ConcurrentHashMap的实现原理

  • 手写链表逆序代码,链表翻转,合并多个单有序链表

  • 树,B+树的理解

  • Http和Https的区别,Https的流程,http常见的响应码

  • Android布局和布局优化

  • Android的进程间通信

  • Android属性动画特性

  • 自定义View如何考虑机型适配

  • Handler机制和底层实现

  • 类加载

  • Java反射、Java注解、依赖注入

  • Java中String的了解,String为什么要设计成不可变的?

  • TCP的3次握手和四次挥手,TCP与UDP的区别,TCP与UDP的应用

  • WebSocket与socket的区别

  • 安卓签名

  • 排序算法有哪些

  • 蚁群算法与蒙特卡洛算法

    对热修复和插件化的理解,插件化原理分析

    MVC MVP MVVM原理和区别

非技术类问题

  • 自我介绍(注意谈吐)

  • 开发经历与收获

  • 项目的亮点和重难点(Android开发始终与问题相伴,要突出问题如何解决、困难如何攻坚!!)

  • 个人所擅长和感兴趣的技术领域与技术点(最好与业内信息挂钩)

  • 个人职业规划与发展路线

  • 反问(提出问题,体现对岗位定位的了解)


以上是根据个人经历,并结合了许多小伙伴的面经帖总结而出的题集。

之后会再整理一个更全面的题库,也会持续更新各个大厂的真题和面经🙂...

#Android##安卓工程师##安卓工程师面经##android#
Android面试 文章被收录于专栏

Android开发面经

全部评论
想问一下,Handler,通过Handler传递的线程对象的生命周期,传递的时候涉及几次拷贝,这个问题能不能给一下答案呀?
点赞 回复 分享
发布于 2023-04-04 15:36 山东
学到了学到了
点赞 回复 分享
发布于 2022-07-28 14:01

相关推荐

求面试求offer啊啊啊啊:1600一个月?
点赞 评论 收藏
分享
评论
1
28
分享

创作者周榜

更多
牛客网
牛客企业服务