年后想跳槽涨薪?你想要的面试题全在这里,kotlinmap 初始化
谈谈消息机制 Hander?作用?有哪些要素?流程是怎样的?为什么系统不建议在子线程访问 UI?一个 Thread 可以有几个 Looper?几个 Handler?可以在子线程直接 new 一个 Handler 吗?那该怎么做?如何将一个 Thread 线程变成 Looper 线程?Looper 线程有哪些特点?Message 可以如何创建?哪种效果更好,为什么?这里的 ThreadLocal 有什么作用?主线程中 Looper 的轮询死循环为何没有阻塞主线程?使用 Hanlder 的 postDealy()后消息队列会发生什么变化?###13.线程
Android 中还了解哪些方便线程切换的类?AsyncTask 相比 Handler 有什么优点?不足呢?使用 AsyncTask 需要注意什么?AsyncTask 中使用的线程池大小?HandlerThread 有什么特点?快速实现子线程使用 HandlerIntentService 的特点?为何不用 bindService 方式创建 IntentService?线程池的好处、原理、类型?ThreadPoolExecutor 的工作策略?什么是 ANR?什么情况会出现 ANR?如何避免?在不看代码的情况下如何快速定位出现 ANR 问题所在?###14.Bitmap
加载图片的时候需要注意什么?LRU 算法的原理?###15.性能优化
项目中如何做性能优化的?了解哪些性能优化的工具?布局上如何优化?内存泄漏是什么?为什么会发生?常见哪些内存泄漏的例子?都是怎么解决的?内存泄漏和内存溢出的区别什么情况会导致内存溢出?###1
6.谷歌新动态
是否了解和使用过谷歌推出的新技术?有了解刚发布的 Androidx.0 的特性吗?Kotlin 对 Java 做了哪些优化?#二、Java###1.基础
面向对象编程的四大特性及其含义?String、StringBuffer 和 StringBuilder 的区别?String a=""和 String a=new String("")的的关系和异同?Object 的 equal()和==的区别?装箱、拆箱什么含义?int 和 Integer 的区别?遇见过哪些运行时异常?异常处理机制知道哪些?什么是反射,有什么作用和应用?什么是内部类?有什么作用?静态内部类和非静态内部类的区别?final、finally、finalize()分别表示什么含义重写和重载的区别?抽象类和接口的异同?为什么匿名内部类中使用局部变量要用 final 修饰?Object 有哪些公有方法?###2.集合
Java 集合框架中有哪些类?都有什么特点集合、数组、泛型的关系,并比较 ArrayList 和 LinkList 的区别?ArrayList 和 Vector 的区别?HashSet 和 TreeSet 的区别?HashMap 和 Hashtable 的区别?HashMap 在 put、get 元素的过程?体现了什么数据结构?如何解决 Hash 冲突?如何保证 HashMap 线程安全?什么原理?HashMap 是有序的吗?如何实现有序?HashMap 是如何扩容的?如何避免扩容?hashcode()的作用,与 equal()有什么区别?###3.并发
同步和非同步、阻塞和非阻塞的概念 Thread 的 join()有什么作用?线程的有哪些状态?什么是线程安全?保障线程安全有哪些手段?ReentrantLock 和 synchronized 的区别?synchronized 和 volatile 的区别?synchronized 同步代码块还有同步方法本质上锁住的是谁?为什么?sleep()和 wait()的区别?###4.Java 新动态
是否了解 Java1.x 的特性吗?谈谈对面向过程编程、面向对象编程还有面向切面编程的理解 #三、计算机网络 ###1.基础
五层协议的体系结构分别是什么?每一层都有哪些协议?为何有 MAC 地址还要 IP 地址?TCP 和 UDP 的区别?拥塞控制和流量控制都是什么,两者的区别?谈谈 TCP 为什么要三次握手?为什么要四次挥手?播放视频用 TCP 还是 UDP?为什么?###2.HTTP
了解哪些响应状态码?get 和 post 的区别?HTTP1.0、HTTP1.1、HTTP2.0 的区别?HTTP 和 TCP 的区别 HTTP 和 HTTPS 的区别 HTTP 和 Socket 的区别在地址栏打入 URL 会发生什么?#四、JVMJVM 内存是如何划分的?谈谈垃圾回收机制?为什么引用计数器判定对象是否回收不可行?知道哪些垃圾回收算法?Java 中引用有几种类型?在 Android 中常用于什么情景?类加载的全过程是怎样的?什么是双亲委派模型?工作内存和主内存的关系?在 Java 内存模型有哪些可以保证并发过程的原子性、可见性和有序性的措施?JVM、Dalvik、ART 的区别?Java 中堆和栈的区别?#五、操作系统操作系统中进程和线程的区别?进程死锁的产生和避免?#六、数据结构 &算法怎么理解数据结构?什么是斐波那契数列?迭代和递归的特点,并比较优缺点了解哪些查找算法,时间复杂度都是多少?了解哪些排序算法,并比较一下,以及适用场景快排的基本思路是什么?最差的时间复杂度是多少?如何优化?AVL 树插入或删除一个节点的过程是怎样的?什么是红黑树?100 盏灯问题老鼠和毒药问题,加个条件,必须要求第二天出结果海量数据问题(手写算法)二分查找(手写算法)反转链表(手写算法)用两个栈实现队列(手写算法)多线程轮流打印问题(手写算法)如何判断一个链有环/两条链交叉(手写算法)快速从一组无序数中找到第 k 大的数/前 k 个大的数(手写算法)最长(不)重复子串 #七、设计模式谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里?如何理解生产者消费者模型?是否能从 Android 中举几个例子说说用到了什么设计模式?装饰模式和代理模式有哪些区别?实现单例模式有几种方法?懒汉式中双层锁的目的是什么?两次判空的目的又是什么?谈谈了解的设计模式原则?#八、数据库数据库中的事务了解吗?事务的四大特性?如何理解数据库的范式?#九、HR 问题请简单的自我介绍一下谈谈项目经历,为什么会做,怎么做的,遇到的难点?谈谈实习经历,做了什么,收获有哪些?谈谈学习 Android 的经历,有哪些学习方法和技巧?成绩怎么样?奖学金情况?学过哪些课程?那门课印象最深刻/最有意义/学的最好/最不喜欢?为什么?学习生活中遇到什么挫折,如何解决的?家是哪里的?是独生子女吗?从小的家庭环境如何?平常有哪些兴趣爱好?大学参加了哪些校园活动?评价一下自己的优缺点?/用 x 个词形容你自己。/别人都是怎样评价你的?觉得自己博客写的最好的文章是什么?为什么?觉得自己的优势是什么?是否会考研?/为何不保研?近 x 年的职业规划?为什么想来我们公司?/为何不转正留在 xx?对公司/部门是否有了解?为何会选择做技术?/对女生做开发的看法?还投过那些公司,进展如何?如果 xx 和 xx 都给你发 offer 会如何选择?有男/女朋友吗?未来有什么规划?如何看待加班?意向工作城市是哪?/是否会考虑在 xx 发展?
评论