Android开发个人面经千字汇总网易字节有赞

Android客户端开发个人面经汇总

一、 Java

  1. 面向对象有哪些基本特征;
  2. 讲一讲多态;重写和重载的区别;
  3. 面向对象和面向过程有什么区别;
  4. static关键字的作用(可能还会问static在Java和C和C++中作用有什么区别),final关键字的作用,private、protect、public关键字的作用;
  5. C++和Java有什么区别;
  6. 了解抽象类吗;
  7. 抽象类和接口的区别;
  8. 内部类和匿名内部类;
  9. 了解泛型吗 ;
  10. 自动装箱拆箱机制;(Integer和Int相关的问题)
  11. 堆和栈的区别;
  12. LinkedList与ArrayList有什么区别(数组和链表的区别),各自有什么优缺点和使用场景;
  13. HashMap的底层原理;
  14. 产生哈希冲突了是怎么解决的;
  15. 介绍一下hashcode和equals的区别;
  16. HashMap和HashTable的区别;
  17. 字符串拼接有哪几种方式;
  18. String,StringBuilder,StringBuffer 的区别;
  19. String s = new String("abc"),创建了几个实例?
  20. Int最大值加1会得到什么;
  21. 四大引用了解吗;
  22. 你了解设计模式吗,可以介绍几种吗;
  23. 了解单例模式吗,有哪些单例模式,他们的优缺点是什么;
  24. Java内存模型,内存泄漏;
  25. Java垃圾回收机制;

二、 Android

  1. 讲一讲四大组件的应用场景;
  2. 活动的生命周期,分别在什么情况下经历;
  3. 从活动A启动活动B会经历哪些生命周期,再从活动B返回活动A呢;切换到后台会经历哪些生命周期;
  4. 活动的启动模式有哪些,具体介绍一下;
  5. Fragment生命周期;
  6. 两个Fragment之间如何传递数据;
  7. Service生命周期;Service启动方式;
  8. 线程的创建方式有哪几种;
  9. 服务可以进行耗时操作吗,主线程可以进行耗时操作吗;
  10. SharedPreference的commit和apply区别;
  11. 使用ListView或者RecyclerView有没有碰到什么问题,比如滑动卡顿,怎么优化;
  12. 怎么设计一个下拉刷新的功能;
  13. 怎么实现一个免登陆功能(第一次登录之后,后续不用再次登录了);
  14. 了解安卓的消息通信机制吗;
  15. 了解handle机制吗;
  16. 事件分发机制;
  17. 用过什么框架,了解MVP和MVVM吗,他们和MVC有什么区别;

三、 计网

  1. http方法有哪些;
  2. http和https的区别;
  3. https有什么加密方式,介绍下加密过程;
  4. http状态码;
  5. 介绍下对称加密和非对称加密;
  6. TCP三次握手介绍一下;四次挥手介绍一下;为什么一定要是三次握手,不能是两次吗;
  7. TCP和UDP的区别,适用场景有哪些;TCP是怎么保证可靠性的;
  8. 介绍一下拥塞控制和流量控制,是怎么实现的;
  9. 网络分层结构,**层有哪些协议;
  10. 从输入一个url到展示页面出来经历了什么过程;
  11. DNS寻址过程;

四、 操作系统

  1. 进程和线程的区别;
  2. 线程有几种状态;
  3. wait和sleep的区别;
  4. 介绍一下线程池;
  5. 进程间通信方式;
  6. 内核态和用户态的区别;
  7. 如何保证线程安全;
  8. 死锁发生的条件,如何解决死锁;
  9. 你了解有哪些锁,简单介绍一下,比如自旋锁和互斥锁;

五、 算法(说点简单的容易被问的,别的还是靠刷题)

  1. 各种排序,尤其快排;
  2. 二叉树各种遍历,前序、中序、后续、层序;
  3. 反转链表;
  4. 判断链表是否有环,找到环的位置;
  5. 手写单例模式;
  6. 括号匹配;最长有效括号;
  7. 多线程按序交替打印
#面经##网易##字节跳动##有赞#
全部评论

相关推荐

5 40 评论
分享
牛客网
牛客企业服务