Android开发新手入门教程!面试字节跳动的Android工程师该怎么准备?层层深入

前言

今天来跟大家分享TIM最强保活思路的几种实现方法。这篇文章我将通过ioctl跟binder驱动交互,实现以最快的方式唤醒新的保活服务,最大程度防止保活失败。同时,我也将跟您分享,我是怎么做到在不甚了解binder的情况下,快速实现ioctl binder这种高级操作。

声明:现在这个保活方式在MIUI等定制Android系统中已经不能保活,大部分时候只能活在模拟器中了。但对与我们的轻量定制的Android系统,一些系统级应用的保活,这个方案还是有用的。

随着Android阵营的各大手机厂商对于续航的高度重视,两三年前的手机发布会更是把反保活作为一个系统的卖点,不断提出了各种反保活的方案,导致现在想实现应用保活简直难于上青天,甚至都需要一个团队来专门研究这个事情。连微信这种超级APP,也要拜倒在反保活的石榴裙下,允许后台启动太费电,不允许后台启动就收不到消息。。Android发现了一个保活野路子就堵一条,然而很多场景是有保活的强需求的,有木有考虑过我们开发者的感受,自己人何必为难自己人。

我觉得这是一个Android设计的不合理的地方,路子可以堵,但还是有必要留一个统一的保活接口的。这个接口由Google实现也好,厂商来实现也好,总好过现在很笨拙的系统自启动管理或者是JobScheduler。我觉得本质上来说,让应用开发者想尽各种办法去做保活,这个事情是没有意义的,保活的路子被封了,但保活还是需要做,保活的成本也提高了,简直浪费生命。Android的锅。(仅代表个人观点)

java方面

  • 基本知识点 集合类的区别和适用场景 1次 java静态内部类和非静态内部类的区别 内存分配 创建过程 内存泄漏问题? 如何保证线程安全??多次 (面试必问) 哪几种加锁方式(最好扯到monitor) 乐观锁和悲观锁 (适用场景) 锁的适用场景 线程池的概念 构成 适用场景 为什么要用线程池(扯到线程分配资源的过程,和进程分配资源过程的区别)
  • 内核方面(面试必问) GC垃圾回收机制?n次 GC是怎么找要清除的对象的? java的四种引用和适用场景 GC内核清理用什么算法? 新生代复制清理,老生代标记整理 拓展:老生代标记整理如何有效的整理内存碎片? java内存结构? n次 java的内存是怎么分布的 java类的加载机制 java对象的加载机制 常量池 string对象的生成 Integer的缓存机制

计算机网络

  • 网络层级结构以及对应的协议
  • TCP TCP?三次握手(第一次和第三次如果没收到回应会怎样?) TCP四次挥手 拥塞控制没考过?
  • HTTP HTTP报文,http各版本的区别,https
  • IP 为啥不将mac作为ip地址 ping实现原理 ttl生存字段
  • ARP 描述过程,广播单播

操作系统

  • 线程和进程区别(资源分配上是怎样的)
  • 进程通信
  • 内存空间分配
  • 死锁 产生死锁的条件(详细举例) 避免死锁的方法

设计模式

  • 一般是自己说了解哪些模式,一定要说明适用场景
  • 单例模式 懒汉式 饿汉式 线程安全,双重锁
  • 观察者模式
  • 适配器模式
  • 外观模式

android方面(一般是根据项目问)

  • android的进程通信
  • service服务
  • handlerThread
  • handler运行机制 1次
  • recyclerView缓存机制 1次
  • view的重绘

项目方面

  • fragment和activity交互
  • webview的使用 安全问题? 和js互相调用
  • 断点续传 描述过程 文件读写,怎么保证不冲突
  • asynctask内存泄漏 为什么泄漏 解决方法 调试工具是什么
  • MFCC流程 录音环节(快手问了一大堆细节,还让写伪代码)
  • MVP
  • recyclerView 和listview区别 缓存机制 item太多会内存泄漏吗

尾声

开发是需要一定的基础的,我是08年开始进入Android这行的,在这期间经历了Android的鼎盛时期,和所谓的Android”凉了“。中间当然也有着,不可说的心酸,看着身边朋友,同事一个个转前端,换行业,其实当时我的心也有过犹豫,但是我还是坚持下来了,这次的疫情就是一个好的机会,大浪淘沙,优胜劣汰。再等等,说不定下一个黄金浪潮就被你等到了。

这是我在这行工作10几年积累的一些资料,如果还想继续在这行业走下去的,或者现在打算跳槽,可以私信【学习】我愿意把资料免费分享给大家。
或者直接点击下面链接领取
Android学习PDF+架构视频+面试文档+源码笔记

  • 330页 PDF Android核心笔记

  • 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题

  • PDF和思维脑图,包含知识脉络 + 诸多细节

  • Android进阶系统学习视频

posted @ 2021-08-20 11:03  HelloWorld扶苏  阅读(117)  评论(0)    收藏  举报