小米 客户端开发 一二面
11/24 小米 一面 30min
自我介绍
本来投递的是java开发工程师,但是没有 hc 转而面 客户端
项目
简单介绍下项目
java
java 面向对象
接口与抽象类的区别
java 创建线程的方式
java 线程池的原理
HashMap 的底层原理 -> 装载因子为什么是0.75?
java内存模型
java垃圾回收算法
四大引用
java类加载的方式 -> 双亲委派原则?
算法
剑指 Offer 32 - II. 从上到下打印二叉树 II
11/29 小米 客户端开发 二面 1h
项目
项目介绍
说一下对于安卓的了解
用过那些安卓的系统
数据库
端系统与网站架构中数据库的区别
MySQL 删除一张表中的特定字段 的sql语法
在客户端中数据库表中删除一个字段时候可以 -> 会带来那些问题?
MySQL 的锁机制 -> 那些 sql 语句会触发全表锁
MySQL 事务 、隔离级别
java
java 线程池的原理
线程的生命周期
给定核心线程数 ,如果再创建一个新的线程该如果做?
计网
OSI网络的体系结构 -> 每一层都是什么作用?
应用层 DNS 说一下
TCP 与 UDP 的区别
TCP 的拥塞控制讲一下
HTTP 与 HTTPS 的区别
逻辑题
两个人轮流在一张圆桌面上摆放硬币,规则是每人每次摆一次,硬币不能互相重叠,也不能有一部分在桌面的边缘之外,摆好了之后不许在移动,这样经过多次摆放,直到那一方率先摆不下硬币谁就输,按照这个规则,如果你先手摆放,你用什么办法才能保证取胜?
算法
手撕 java String split() 方法
public static List<List<Character>> split(List<Character> s, Character c)