写点什么

2019 年 Android- 非科班硕士的阿里 & 腾讯 & 字节 & 爱奇艺 & 网易 & 华为实习面试大汇总分享

用户头像
Android架构
关注
发布于: 15 小时前


面经+复习体系分享

基本情况

  • 2019 届硕士,非科班,Android 客户端方向

  • 接触 Android 是因为参加电子设计比赛,还有课程设计项目需要

  • 此贴主要是 2019 年年初春招实习的面试总结,最后去了华为实习

  • 主要包括阿里 2 面,腾讯 4 面,字节 3 面,爱奇艺 3 面,网易游戏 3 面,华为 2 面

阿里

阿里简历面(阿里笔试做的比较差) 50min

自我介绍

  • 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?

设计模式

  • 生产者,消费者是什么?

  • 命令模式是什么?

数据结构

  • 快排是什么?时间复杂度多少?

  • 七大排序分别是什么?

  • 二叉树原理?

  • 红黑树是什么?


最近面试被怼了?缺面试题刷提升自己吗?


点击:


[Android 学习 PDF+架构视频+面试文档+源码笔记](


)


来获取学习资料提升自己去挑战一下 BAT 面试难关吧

提前批二面 30min (挂)

C++

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


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


问我 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 的对象存放在哪?)

  • 用户态/内核态

  • 中断

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
2019年Android-非科班硕士的阿里&腾讯&字节&爱奇艺&网易&华为实习面试大汇总分享