zoukankan      html  css  js  c++  java
  • 2020预备春招BAT面试题汇总:Java 相关、Android 基础、Android Framework、三方源码、算法与数据结构

    前言:

    本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java 相关、Android 基础、Android Framework、三方源码、算法与数据结构、等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。

    目录:

    由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家,文末获取免费领取方式

     
    Android面试指导

    看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点

    1、Java 相关

    1. 容器(HashMap、HashSet、LinkedList、ArrayList、数组等)

    需要了解其实现原理,还要灵活运用,如:自己实现 LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。

    1. 内存模型
    2. 垃圾回收算法(JVM)
    3. 类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
    4. 反射
    5. 多线程和线程池
    6. HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
    7. 设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
    8. 断点续传

    2、Android 基础

    1. 自定义 View(参考链接:自定义View,有这一篇就够了 - 简书Android 自定义 View
    2. 事件拦截分发(Android事件分发机制,大表哥带你慢慢深入 - 简书 )
    3. 解决过的一些性能问题,在项目中的实际运用。
    4. 性能优化工具 (TraceView、Systrace、调试 GPU 过度绘制 & GPU 呈现模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker 等)
    5. 性能优化
      (1)网络:API 优化、流量优化、弱网优化
      (2)内存:OOM 处理、内存泄漏、内存检测、分析、Bitmap 优化
      (3)绘制
      (4)电量:WeakLock 机制、JobScheduler 机制
      (5)APK 瘦身
      (6)内存抖动
      (7)内存泄漏
      (8)卡顿
      (9)性能优化:布局优化、过度渲染处理、ANR 处理、监控、埋点、Crash 上传。
    6. IntentService 原理及应用
    7. 缓存自己如何实现(LRUCache 原理)
    8. 图形图像相关:OpenGL ES 管线流程、EGL 的认识、Shader 相关
    9. SurfaceView、TextureView、GLSurfaceView 区别及使用场景
    10. 动画、差值器、估值器(Android中的View动画和属性动画 - 简书Android 动画 介绍与使用
    11. MVC、MVP、MVVM
    12. Handler、ThreadLocal、AsyncTask
    13. Gradle(Groovy 语法、Gradle 插件开发基础)
    14. 热修复、插件化

    3、Android Framework

    1. AMS 、PMS
    2. Activity 启动流程
    3. Binder 机制(IPC、AIDL 的使用)
    4. 为什么使用 Parcelable,好处是什么?
    5. Android 图像显示相关流程,Vsync 信号等

    4、三方源码

    1. Glide :加载、缓存、LRU 算法
    2. EventBus
    3. LeakCanary
    4. ARouter
    5. 插件化(不同插件化机制原理与流派,优缺点。局限性)
    6. 热修复
    7. RXJava
    8. Retrofit

    5、算法与数据结构

    1. 单链表:反转、插入、删除
    2. 双链表:插入、删除
    3. 手写常见排序、归并排序、堆排序
    4. 二叉树前序、中序、后序遍历
    5. 最大 K 问题
    6. 广度、深度优先搜索算法

    看完上面的内容,相信大家已经有了清晰的目标与方向,接下来就是查找学习资料了,我们为大家准备了一套体系化的架构师学习资料包,供大家参考,学习资料包内容及领取方法如下:

     


    扫描下方二维码,添加微信好友。前往领取!

     
    Android-Alvin微信二维码
  • 相关阅读:
    华章IT图书书讯(2011年第8期)
    iPhone游戏开发实践指南
    【北京讲座】Android系统Framework层源码分析(2011.09.24)
    深入理解Android
    你学或不学,Java就在那里,不离不弃
    近百本精品图书全部免费赠送——仅面向学生
    极限编程(Extreme Programming, XP)
    对任何希望深入理解C#的程序员来说,这本书都是不容错过的经典书籍
    C# 文件操作(转)
    一些数据格式化Eval( " ")和DataBinder.Eval(Container.DataItem, " ")的区别及用法
  • 原文地址:https://www.cnblogs.com/Android-Alvin/p/12306363.html
Copyright © 2011-2022 走看看