美文网首页Android架构师Android开发经验谈Android技术知识
好不容易撑到了字节跳动Android三面,卡在了底层实现原理!

好不容易撑到了字节跳动Android三面,卡在了底层实现原理!

作者: Kepler_II | 来源:发表于2021-04-21 16:11 被阅读0次

    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。

    最近跟一个读者聊天,他准备了3个月,刚刚参加完字节跳动的第三面,视频面,嗯,挂了…


    字节跳动Andorid三面凉经

    一面
    a. 线程池的底层原理
    b. 四种引用类型
    c. JAVA GC
    d. Sychornized关键字
    e. 静态同步函数
    f. 可不可以调用Abstrut 父类的super方法
    g. HTTP协议中POST,GET 的区别
    h. TCP/IP协议栈
    i. TCP和UDP的区别
    j. 三次握手是什么?可以两次握手么
    k. 进程和线程的区别
    l. 手写ViewGroup树结构遍历

    二面
    a. ArrayList / LinkedList的区别
    b. HashMap的底层实现原理
    c. 两个线程分别调用同一个类的实例函数和类函数
    d. 什么是可见性?举例场景
    e. volatile关键字的意义
    f. .Class对象
    g. 线程结束的方法:Interrupt之后需要做什么
    h. Android Activity切换生命周期
    i. Activity保存状态的函数
    j. 子线程对UI的操作方法
    k. 如何在应用程序远程调用中表明用户身份
    l. 单例模式、建造者模式、中介模式
    m. 手写中位数查找算法

    三面
    a. 聊聊项目
    b. Handler和Looper的底层结构
    c. postRunnable方法的底层实现
    d. Thread Run和Start的底层调用区别(是否中断陷入)
    e. BroadCast的使用方法
    f. Intent的使用方法
    g. Intent-Filter
    h. 手写外部排序算法

    我们很多程序员都有一个大厂梦,但如何针对大厂进行面试准备,很多程序员就显得手足无措了。本文就根据自己一些见解谈谈如何准备面试。

    关于笔者:字节跳动 Android 客户端开发工程狮一枚,喜欢技术、热爱开源。

    Android校招常见面试题解析

    目录

    Java

    • Java基础
    • Java并发
    • Java虚拟机

    Android

    • Android基础
    • Android进阶
    • 开源框架

    数据结构

    • 线性表
    • 栈和队
    • [散列查找
    • 排序
    • 海量数据处理

    算法

    • 剑指offer
    • LeetCode

    设计模式

    • 创建型模式
    • 结构型模式
    • 行为型模式

    计算机网络

    • TCP/IP
    • HTTP
    • HTTPS

    操作系统

    • 概述
    • 进程与线程
    • 内存管理

    数据库

    • SQL语句

    面试题解析

    第一章

    Java基础
    • Java集合框架
    • Java集合——ArrayList
    • Java集合——LinkedList
    • Java集合——HashMap
    • Java集合——TreeMap
    • Java集合——LinkedHashMap
    • Java泛型
    • Java反射(一)
    • Java反射(二)
    • Java反射(三)
    • Java注解
    • Java IO(一)
    • Java IO(二)
    • RandomAccessFile
    • Java NIO
    • Java异常详解
    • Java抽象类和接口的区别
    • Java深拷贝和浅拷贝
    • Java transient关键字
    • Java finally与return执行顺序
    • Java 8 新特性


      Java集合解析
    Java并发
    • Java创建线程的三种方式
    • Java线程池
    • 死锁
    • Synchronized/ReentrantLock
    • 生产者/消费者模式
    • volatile关键字
    • CAS原子操作
    • AbstractQueuedSynchronizer详解
    • 深入理解ReentrantLock
    • Java并发集合——ArrayBlockingQueue
    • Java并发集合——LinkedBlockingQueue
    • Java并发集合——ConcurrentHashMap
    Java虚拟机
    • 对象的创建、内存布局和访问定位
    • Java内存区域与内存模型
    • Java类加载机制及类加载器详解
    • JVM中垃圾收集算法及垃圾收集器详解
    • JVM怎么判断对象是否已死?

    第二章 Android

    Android基础
    • Activity全方位解析
    • Service全方位解析
    • BroadcastReceiver全方位解析
    • ContentProvider全方位解析
    • Fragment详解
    • Android消息机制
    • Android事件分发机制
    • AsyncTask详解
    • HandlerThread详解
    • IntentService详解
    • LruCache原理解析
    • Window、Activity、DecorView以及ViewRoot之间的关系
    • View测量、布局及绘制原理
    • Android虚拟机及编译过程
    • Android进程间通信方式
    • Android Bitmap压缩策略
    • Android动画总结
    • Android进程优先级
    • Android Context详解


      Android消息机制解析
    Android进阶
    • Android多线程断点续传
    • Android全局异常处理
    • Android MVP模式详解
    • Android Binder机制及AIDL使用
    • Android Parcelable和Serializable的区别
    • 一个APP从启动到主页面显示经历了哪些过程?
    • Android性能优化总结
    • Android 内存泄漏总结
    • Android布局优化之include、merge、ViewStub的使用
    • Android权限处理
    • Android热修复原理
    • Android插件化入门指南
    • VirtualApk解析
    • Android推送技术解析
    • Android Apk安装过程]
    • PopupWindow和Dialog区别


      Android Binder机制及AIDL使用解析
    开源框架
    • OkHttp解析
    • Retrofit解析
    • EventBus解析


      OkHttp解析

    第三章 数据结构

    • 线性表

    • 栈和队

    • 树的基础

    • 其他常见的树

    • 并查集

    • B-树,B+树,B*树]

    • 图的基础

    • 拓扑排序

    • Kruskal算法

    • Prim算法

    • Dijkstra算法

    • Floyd算法

    • 散列查找

    • 排序

    • 海量数据处理


      树的介绍

    第四章 算法

    • 剑指offer

    • 01.二维数组中的查找

    • 02.替换空格

    • 03.从尾到头打印链表

    • 04.重建二叉树

    • 05.用两个栈实现队列

    • 06.旋转数组的最小数字

    • 07.斐波那契数列

    • 08.二进制中1的个数

    • 09.打印1到最大的n位数

    • 10.在O(1)时间删除链表节点

    • 11.调整数组顺序使奇数位于偶数前面

    • 12.链表中倒数第K个节点

    • 13.反转链表

    • 14.合并两个排序的链表

    • 15.树的子结构

    • 16.二叉树的镜像

    • 17.顺时针打印矩阵

    • 18.包含min函数的栈

    • 19.栈的压入、弹出序列

    • 20.从上往下打印二叉树

    • 21.二叉搜索树的后序遍历序列

    • 22.二叉树中和为某一值得路径

    • 23.复杂链表的复制

    • 24.二叉搜索树与双向链表

    • 25.字符串的排列

    • 26.数组中出现次数超过一半的数字

    • 27.最小的k个数

    • 28.连续子数组的最大和

    • 29.求从1到n的整数中1出现的次数

    • 30.把数组排成最小的数

    • 31.丑数

    • 32.第一个只出现一次的字符

    • 33.数组中的逆序对

    • 34.两个链表的第一个公共结点

    • 35.在排序数组中出现的次数

    • 36.二叉树的深度

    • 37.判断平衡二叉树

    • 38.数组中只出现一次的数字

    • 39.和为s的两个数字

    • 40.和为s的连续正数序列

    • 41.翻转单词顺序

    • 42.左旋转字符串

    • 43.n个骰子的点数

    • 44.扑克牌的顺子

    • 45.约瑟夫环问题

    • 46.不用加减乘除做加法

    • 47.把字符串转换成整数

    • 48.树中两个结点的最低公共结点

    • 49.数组中重复的数字

    • 50.构建乘积数组

    • 51.正则表达式匹配

    • 52.表示数值的字符串

    • 53.字符流中第一个不重复的字符

    • 54.链表中环的入口结点

    • 55.删除链表中重复的结点

    • 56.二叉树的下一个结点

    • 57.对称的二叉树

    • 58.把二叉树打印出多行

    • 59.按之字形顺序打印二叉树

    • 60.二叉搜索树的第k个结点

    • 61.数据流中的中位数

    • 62.滑动窗口的最大值

    • 63.矩阵中的路径

    • 64.机器人的运动范围


      二维数组中的查找解析
    LeetCode
    • Dynamic Programming

    • Distinct Subsequences

    • Longest Common Subsequence

    • Longest Increasing Subsequence

    • Best Time to Buy and Sell Stock

    • Maximum Subarray

    • Maximum Product Subarray

    • Longest Palindromic Substring

    • BackPack

    • Maximal Square

    • Stone Game

    • Array

    • Partition Array

    • Subarray Sum

    • Plus One

    • Palindrome Number

    • Two Sum

    • String

    • Restore IP Addresses

    • Rotate String

    • Valid Palindrome

    • Length of Last Word

    • Linked List

    • Remove Duplicates from Sorted List

    • Partition List

    • Merge Two Sorted Lists

    • LRU Cache

    • Remove Linked List Elements

    • Greedy

    • Jump Game

    • Gas Station

    • Candy

    • 创建型模式

    • 简单工厂模式

    • 工厂方法模式

    • 抽象工厂模式

    • 单例模式

    • 建造者模式

    • 结构型模式

    • 适配器模式

    • 外观模式

    • 装饰者模式

    • 代理模式

    • 行为型模式

    • 命令模式

    • 迭代器模式

    • 观察者模式

    • 策略模式

    • 模板方法模式


      image

    第五章 计算机网络

    • TCP/IP
    • HTTP
    • HTTPS
    • 概述
    • 进程与线程
    • 内存管理


      image

    本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

    image

    由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android全套面试宝典全套完整文档的麻烦点赞+评论【1】即可获取资料免费领取方式!

    相关文章

      网友评论

        本文标题:好不容易撑到了字节跳动Android三面,卡在了底层实现原理!

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