Android开发指南,还在等机会

阿里

自我介绍

  • Android学习方式
  • 对源码是否了解(Android Java)

源码

  • Handler消息机制(具体涉及到的类 & 细节)
  • HashMap(数据结构 & put操作
  • HashMap扩容时间复杂度
  • ArrayMap

JVM

  • Java内存区域
  • 堆栈区别
  • 哪些区域线程私有,哪些共享
  • 栈帧
  • 方法调用时的入栈出栈操作

Java

  • 并发访问:
  1. volatile(只保证了可见性和有序性,不能保证原子性)
  2. synchronized:修饰代码块/方法/对象的区别? (单例模式DCL会不会失效?)
  3. Lock

Android

  • Activity生命周期(具体执行,涉及到哪些类?)
  • ANR(什么是ANR?怎么监测,运行前,运行后,线上监测?)

项目

  • 项目线程同步的优化(session/cooike/token/上传凭证的区别)

阿里一面 1h (挂)

自我介绍

项目

  • 使用人数/有无上架商店
  • 有无IM通讯模块
  • 登录模块是怎么解决的
  • 如何优化千万级别用户下让用户实时知道自己状态(APP端 & 服务器端)

Java

  • synchronized修饰方法和类有什么区别
  • volatile关键字作用

JVM

  • 内存分配
  • 垃圾回收算法

Android

  • 事件分发机制
  • 消息机制
  • View绘制流程(具体原理,包括不限于绘制三大流程)
  • Handler(怎么实现多线程?为什么Looper死循环没事?怎么实现线程间通讯?)
  • 操作系统层面死循环是怎么回事?
  • 死循环一定会导致ANR麽?

HTTP协议

  • HTTP缓存了解不?

腾讯

提前批一面 50min

Android

  • 四大组件是什么?轮番介绍之
  • Fragment是什么?与Activity区别?
  • SurfaceView与View区别?SurfaceView原理?
  • 前台服务与后台服务区别?
  • AIDL了解么?
  • IPC方式?谁最快?
  • Protocol Buffer了解么?
  • APP中多进程有什么用?
  • 方法数65536怎么解决?
  • View显示过程?

Java

  • 线程同步方式?
  • 死锁是什么?

虚拟机

  • 内存分配方式?
  • 堆和栈的区别?
  • GC?垃圾回收?
  • class文件生成过程?

计算机网络

  • 什么是HTTP?
  • HTTP/HTTPS区别?
  • TCP/IP 三次握手 四次挥手?
  • TCP/UDP区别?
  • HTTP是长连接还是短连接?
  • HTTP状态码?
  • 抓包工具?怎么抓包HTTPS?

设计模式

  • 生产者,消费者是什么?
  • 命令模式是什么?

数据结构

  • 快排是什么?时间复杂度多少?
  • 七大排序分别是什么?
  • 二叉树原理?
  • 红黑树是什么?

提前批二面 30min (挂)

C++

  • class与struct区别(看到我相关课程上写了C++,就开始问我C++,我说C++基本没怎么用过,才开始问我Java)

项目

  • 介绍项目,有什么难点?
  • 竞赛用了单片机? 指令级是什么?

Java

  • HashMap介绍下?
  • ArrayList,LinkedList用法有什么要注意的
  • 注解介绍下?
  • 泛型中类型擦除?

数据结构

  • 线段树 B+树?

Android

  • OkHttp了解不?
  • OkHttp使用需要注意什么?
  • RxJava介绍下?
  • Activity四种启动模式?
  • 一个APP 怎么退出所有Activity?
  • 接上问如果有第三方SDK,怎么退出?

正式批一面 40min

手写代码

  • 字符串出现频率中位数
  • 最长公共子串问题LCS

项目

  • OKHTTP框架
  • TCP UDP HTTP区别
  • TCP滑动窗口
  • 用UDP实现TCP

数据库

  • 三大范式
  • 索引
  • 怎么知道命中索引

操作系统

  • 进程间通讯方式
  • 共享内存原理

正式批二面 35min (挂)

项目

  • 内存泄漏?

Android

  • OKHTTP 对HTTP与HTTPs之间的区别
  • HTTPs加密原理
  • BlueboothAdapter
  • Activity在AndroidManifest.xml文件中有哪些标志位?
  • CLEAR_TOP?
  • singleTop和singleTask分别的使用场景
  • Android存储(文件,SP,数据库[具体介绍下SQLite])

JVM

  • Android虚拟机与Java虚拟机之间区别

Java

  • 深拷贝 浅拷贝(内存溢出or垃圾回收时有什么区别?)
  • 多线程模型

数据结构

  • 二叉树
  • B树(插入/删除过程

字节跳动

字节一面 1h

项目

  • 介绍项目
  • HTTPs加密的解释
  • 对称/非对称加密

Java

  • 深拷贝/浅拷贝,怎么实现深-浅拷贝 CopyonWrite
  • Java内存(分配->回收)

网络通信

  • TCP挥手 第三次不挥手会怎么样

算法

  • 数组A 数组B 计算A-B
  • 0-n之间所有质数(先求所有合数)

字节二面 1.5h

Java

  • 线程同步问题(为什么需要同步&怎么实现同步)

设计模式

  • 单例模式(静态内部类)
  • 其他设计模式简介

数据结构

  • 排序算法
  • 归并/快排(实现原理/平均复杂度/能否提前结束/谁性能更优)
  • 堆排(怎么实现调整堆结构/k个最大的数)

算法题

  • 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组

字节三面 40min (挂)

自我介绍

  • 专业课程
  • 看过哪些书

操作系统

  • 内存分配区域(Java层面回答?对象引用在堆和栈都有么?函数内部new的对象存放在哪?)
  • 用户态/内核态
  • 中断

计算机网络

  • 计算机网络有哪几层?分别对应什么协议?
  • IP TCP传输的都是什么数据?
  • DNS?

Java

  • 泛型上界,下界定义/作用
  • Java有哪几种锁
  • 临界区概念
  • synchronized和可重入锁的区别

爱奇艺

爱奇艺一面 50min

项目

  • 主要介绍了实习项目,分析了内存泄漏,线程同步的问题

计算机网络

  • HTTP/HTTPS区别

Android

  • OkHttp框架(里面有那些设计模式)
  • 如何终止一个线程

爱奇艺二面 50min

介绍项目

  • 内存泄漏的来源
  • 有没有做过优化

Android

  • Service的两种启动方式?区别在哪?
  • 性能优化有没有做过?

Java

  • 手写单例模式

算法

  • 删除链表中一个节点

爱奇艺三面 40min

自我介绍

  • 项目
  • 有没有特别擅长的

Java

  • public作用?
  • .java文件名怎么确定?
  • 外部类最多有几个?
  • 内部类最多有几个?
  • 内部类支持嵌套么?
  • 线程池怎么给新建的线程设置名字?
  • 线程池种类?
  • 注解的使用?

Android

  • Activity的启动模式下生命周期
  • Activity A->B的生命周期
  • Handler中怎么实现Looper和线程绑定?
  • 一个线程最多有几个Looper?
  • 多个Looper报的异常?
  • 消息阻塞再次唤醒是什么机制?
  • ThreadLocal是什么?

网易

网易一面 15min

Android

  • OkHttp
  • Retrofit
  • RxJava

网易二面 15min

Android

  • OkHttp
  • Retrofit
  • RxJava

算法

  • 斐波那契数列

网易HR面 15min

聊天

  • 怎么学习Android
  • 专业
  • 为什么不进医疗仪器行业

个人

  • 城市选择
  • 家庭情况

业务

  • CC直播部门
  • 先做培训和功能迭代
  • 网易游戏的生态链一环 & 技术实力尚可

华为

华为一面

项目

  • 实习项目
  • 可优化的地方
  • 专业

算法

  • 复盘笔试题

华为二面

  • 聊人生
  • 对华为文化看法
  • 家庭情况
  • 专业情况

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

[外链图片转存中…(img-ORmZHGNF-1713711685642)]

最后

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;

[外链图片转存中…(img-6For93at-1713711685643)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值