2021年之Android面经分享(已获头条、顺丰,kotlin打包成exe

本文是作者2021年面试经历的总结,涉及Android面试常见问题,涵盖TCP/UDP、HTTP、多线程、Java内存模型、数据结构、Android特性和框架、设计模式、算法等多个方面。文章强调了面试中技术扎实程度、项目经验匹配、亮点展现、沟通能力和学习能力的重要性,并提供了面试答题技巧和反思。
摘要由CSDN通过智能技术生成
  • Tcp和Udp的区别?

  • Http的报文结构?cookie是用来干嘛的?有哪些响应码,分别都代表什么意思?

  • 有自己实现过Socket协议吗?

多线程

  • Sleep()和wait()的区别?

  • Java有哪些线程池?他们的区别是什么?线程池工作流程是怎样的?线程池实现原理是怎样的?Cache线程池有哪些弊端?

  • 多线程间的通信方式?

  • synchronize关键字怎么用的?还知道哪些同步的方式?

  • Thread直接调用run方法会怎么样?start方法作用是什么?

  • volatile关键字的作用是什么?

  • 怎么安全停止一个线程任务?原理是什么?线程池里有类似机制吗?

数据结构

  • HashMap和HashTable的区别?和 ConcurrentHashMap 区别?和LinkedHashMap区别?内部实现原理?

LRUCache的原理?

  • ArrayList和LinkedList区别?为什么ArrayList不是线程安全的?

  • 数据库的索引用的什么数据结构?

虚拟机

  • 垃圾回收机制?有哪些对象可以作为GC roots?

  • 跟Art、Dalvik对比

  • Java内存模型?

  • 类加载机制?双亲委托模型?

其它

  • 用过哪些设计模式?DCL单例模式为什么要两次判空?Android里源码或者你用过的开源库都用到了什么设计模式?

— final关键字的作用?

  • 静态内部类和内部类的区别?

  • 值传递类问题

  • Kotlin为什么能和Jav

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值