Giter Club home page Giter Club logo

androidofferkiller's Introduction

安卓 offer 收割基

为了方便广大 Android 开发者们做面试准备,故建立此库,本着我的一些微不足道的开发经验来整理和收集 Android 题库,内容会逐渐完善,有兴趣的可以一起加入进来,把你认为总结得不错的面试题通过 提 issue 来加入此库。

摘要

1 计算机基础

相信考过计算机研究生的都知道 408,也就是计算机基础,它主要包括「数据结构」、「计算机组成原理」、「操作系统」和「计算机网络」,和 Android 面试有关的主要就是「数据结构」和「计算机网络」,其他两部分不做要求,感兴趣的也可以去了解。

1.1 数据结构

Title Author
LeetCode 题解 Blankj
fucking-algorithm labuladong

1.2 操作系统

Title Author
进程和线程的区别 Omooo
进程有哪几种状态 Omooo
进程调度策略 Omooo
进程间通信的几种方式 Omooo

1.3 计算机网络

Title Author
TCP 与 UDP 的区别 Blankj

2 Java

Title Author
线程池 Blankj

3 Java 虚拟机

Title Author
运行时数据区域 Blankj

4 Android

Title Author
App 启动过程(含 Activity 启动过程) Blankj
RecyclerView 性能优化 Blankj
EditText 搜索优化 Blankj

5 设计模式

Title Author
单例模式 Blankj
责任链模式 AndroidTraveler
模板方法模式 安卓小煜

6 HR 面试

Title Author
你的缺点是什么 Blankj

7 简历模板

Title Author
技术人员的 Markdown 简历 Blankj

8 面经集合

Title Author
Facebook 面经记 Blankj
阿里巴巴面经记 Blankj

9 内推通道

Company Position
字节跳动 字节跳动靠谱内推

打个小广告

欢迎加入我的小专栏「基你太美」一起学习。

androidofferkiller's People

Contributors

blankj avatar zhanzengyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidofferkiller's Issues

RecycledViewPool复用说明

RecycledViewPool复用说明
RecycledViewPool中的缓存ViewHolder在很多场景下会被清除,复用时需要设置不被清除

RecyclerView卡頓的大招优化

RecyclerView的卡顿问题归根结底是滑动的卡顿,有一个场景是ViewHolder在滑动过程中创建ViewHolder导致的卡顿,那么问题来了,是否可以在CPU空闲的时候我们给RecyclerViewPool预制一些ViewHolder,这样在滑动过程中只会调用bind方法,而不会调用create方法。
`//需要提前缓存ViewHolder,解决滑动卡顿问题,*操作
MessageQueue.IdleHandler idleHandler = new MessageQueue.IdleHandler() {
@OverRide
public boolean queueIdle() {
new Thread(new Runnable() {
@OverRide
public void run() {
for (int i = 0; i < 10; i++) {
final RecyclerView.ViewHolder viewHolder = mController.getAdapter().createViewHolder(mRecyclerView, PicRecoveryBaseModel.TYPE_ITEM);
mRecyclerView.post(new Runnable() {
@OverRide
public void run() {
mRecyclerView.getRecycledViewPool().putRecycledView(viewHolder);
}
});

                }

                for (int i = 0; i < 2; i++) {
                    final RecyclerView.ViewHolder viewHolder = mController.getAdapter().createViewHolder(mRecyclerView, PicRecoveryBaseModel.TYPE_GROUP);
                    mRecyclerView.post(new Runnable() {
                        @Override
                        public void run() { 
                            mRecyclerView.getRecycledViewPool().putRecycledView(viewHolder);
                        }
                    });
                }


            }
        }).start();
        return false;
    }
};`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.