美文网首页面试专题面试题
2019年中Android社招面试总结

2019年中Android社招面试总结

作者: PaperKite | 来源:发表于2019-07-08 17:31 被阅读196次

    面试遇到的问题:

    java:

    1.说说你对java多线程的理解;
    2.java的四种线程池以及它们的区别;
    3.java中volatile,synchronize的使用场景以及原理;
    4.java的内存模型;
    5.java垃圾回收机制,如何确定对象可以被回收,哪些对象可以作为gcroot;
    6.arrayList,linkedList区别以及底层实现(数组,链表)以及线程安全;
    7.HashMap, ConcurrentHashMap,HashTable之间的区别,底层实现,线程安全,hash算法,segment,rehash,如何自己优化hash算法等;
    8.java的注解和反射;

    网络:

    1.http和https的区别,说说你对https加密的理解;
    2.TCP|IP,滑动窗口;
    3.http状态码;

    数据结构

    1.数组和链表区别;
    2.单链表,循环链表,双向链表;
    3.二叉树几种遍历方式;

    算法

    1.twoSum;
    2.LinkedList遍历;
    3.合并两个有序数组;
    4.100个数中求前10个最大数的和(堆排序);
    5.手写冒泡,归并,快速排序;
    6.反转二叉树,反转链表;

    Android

    1.Glide源码,缓存,LruCache,生命周期,线程池,为什么可以链式调用;
    2.Retrofit,Okhttp源码,线程池,五个拦截器,同步异步,注解,动态代理;
    3.Rxjava源码,Rxjava+Retrofit在项目中的运用;
    4.Activity的几种启动模式,Activity是如何启动的(从点击app图标到展示出闪屏图的系统调用);
    5.Android中实现插件化的几种方式以及他们的不同,谈谈你对主流几种插件化框架的理解;
    6.Glide,Fresco,Picasso三种框架的区别以及优缺点;
    7.如何自己封装一个图片,网络加载,自动打包框架;
    8.handle原理,为何主线程loop无线循环不会造成卡死,使用handle进行两个子线程交互,什么时间去取message;
    9.mvc,mvp,mvvm区别;
    10.Gradle多渠道打包原理;
    11.常用动画以及原理;
    12.布局优化,内存优化(内存溢出,内存抖动,内存泄漏),电池优化如何实现以及原理;
    13.Android中进程之间的通信(Binder机制的原理);
    14.如何建立一个下载任务以及断点续传;
    15.view的绘制流程;
    16.事件的分发于处理;
    17.Bitmap的压缩,点击查看高清大图;

    设计模式

    1.单例模式的两种方式以及android项目中应用;
    2.代理和动态代理;
    3.几种工厂模式以及他们的应用;
    4.观察者模式结合Rxjava;
    5.责任链模式;

    今年行情不好,很多公司裁员,想必大家也是知道的。总体感觉市场对于开发者的要求不再仅仅是android的相关知识,而是用考算法的方式筛选更优秀的人才。各位同行尤其是想进大厂的同行,一定要恶补数据结构与算法,不要让他们成为你成功路上的绊脚石。

    相关文章

      网友评论

        本文标题:2019年中Android社招面试总结

        本文链接:https://www.haomeiwen.com/subject/hqboqctx.html