2019 年 Android- 非科班硕士的阿里 & 腾讯 & 字节 & 爱奇艺 & 网易 & 华为实习面试大汇总分享 (1)
接上问如果有第三方 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 直播部门
先做培训和功能迭代
网易游戏的生态链一环 & 技术实力尚可
华为
华为一面
项目
实习项目
可优化的地方
专业
算法
复盘笔试题
华为二面
聊人生
对华为文化看法
家庭情况
专业情况
总结
实习拿了华为,爱奇艺,网易游戏的 offer,最终去了华为南研所,Android 客户端的面试知识点涉及到 Android,Java,计算机网络,数据结构,操作系统,设计模式...
Android
四大组件使用及原理,View 原理,动画,常用开源库(OKHttp,Retrofit,RxJava,EventBus,Glide,Gson...),Handler,Fragment...
Java
Java 基础知识,反射,泛型,集合源码,多线程原理,JVM...
计算机网络
HTTP/HTTPs/TCP/UDP/DNS/IP...
操作系统
中断,用户态/内核态,阻塞,临界区,多线程模型...
数据结构
二叉树,红黑树,B 树,B+树,排序算法...
设计模式
单例(手写),观察者,建造者,命令模式...
建议
主要针对非科班同学:最好系统的看下操作系统和计算机组成原理,因为看完操作系统后才能系统的认识计算机的原理,能更好的从底层去认识上层
评论