近半个月面试总结&反思

投简历前其实并没有高强度有系统的复习 由于平时工作比较闲 大多数都是零零散散浑沦吞枣的学习和积累的

此前也没面过大厂 都在一些中小型公司呆过 此次面试有很大一部分心态是抱着学习的心态试一试 再加上自己平时学的不够透彻 算是一个教训

字节(一面挂)

项目经历 自己做过哪些核心的模块

MVP、MVVM优缺点

http状态码讲一下常用的

从ViewRootImpl开始 事件分发流程 onClick和onLongClick怎么执行的

TextView的绘制流程 怎么处理换行

性能优化都做了哪些

Shareperference实现机制

插件化原理

ViewRootImpl都做了哪些事情

都有哪些window类型 内部是怎么处理window不同权限的

算法:

给定一个数N 如23121 给定一组数字A如{2,4,9}; 求由A中元素组成的、小于N的最大数,如小于23121的最大数为22999

涂鸦智能(现场面试两轮)

一面

讲一下Handler消息机制

项目中都做了哪些性能优化

讲一下绘制流程 View和ViewGroup的区别

事件分发流程是怎么执行的

http的请求过程

HashMap原理 put过程、扩容 1.7 1.8区别 ConcurrentHashMap原理

二面

MQTT协议的特点 底层原理

Activity启动流程 为什么zygote使用socket通信

插件化原理 遇到过什么问题 怎么解决的

classLoader双亲机制

模块化通信 自己设计一套怎么实现

tcp协议请求过程

面试结束后已经中午吃饭了 面试官让等一会 结果又让等通知

等了有一个星期邮件通知感谢

阿里(三面挂)

初面(电话简单聊了二十分钟)

项目经历 主要做过哪些业务功能

性能优化

有遇到过哪些比较难的问题

讲一下MQTT协议

注解和反射原理

HashMap内部实现原理 怎么hash的 怎么扩容 1.7、1.8什么区别 多线程会导致什么问题

项目中人脸识别用到了哪些业务场景

这一面应该是筛选下简历 不算正式面世

一面(电话面试四十分钟)

介绍自己做过的项目 处理了什么问题

ListView和ScrollView的冲突怎么处理

Handler怎么处理延时消息的 消息队列中死循环在native层都做了什么处理

为什么用单Activity多Fragment 怎么处理传参

同事代码可能导致内存泄漏和ANR 在代码层面怎么避免

okhttp拦截器实现 连接池的复用策略 有实现http2.0吗 okhttp和volley的区别 从实现策略讲

讲一下eventbus实现原理

glide的三级缓存是怎么执行的 最近使用和正在使用的缓存是怎么切换的 怎么处理bitmap复用的 如果自己实现一个该怎么处理

模块化怎么通信 底层怎么实现

二面(电话面试三十多分钟)

介绍项目 自己处理过哪些项目痛点 怎么处理的

泛型编译期信息怎么储存的 什么情况下泛型会擦除

MVP、MVVM优缺点

与web是怎么交互通信的 这个模块怎么设计的

接口 抽象类区别 可以new吗

JDK8的流有用过吗 解决了什么问题 写过接口的默认实现吗

讲一下RN和Flutter的区别

算法:查找数组中大小为x的两个数(只有一对)

三面(三十多分钟)

介绍做过的项目 处理过哪些问题

http2.0什么特性 有哪些问题

设计模式了解多少 讲一下装饰模式

MQTT协议解决了哪些问题 为什么

flutter了解多少

平时都通过哪些方式学习和了解技术的

都有了解其他哪方面的技术

在最近的项目中学到了什么

职业发展方向

对于这项工作你有什么优势

中间废话有点多 面试官有点不耐烦 说尽量讲的简单些

第三天就收到邮件感谢了 -。-

阿里整体的面试难度不算太离谱 可能刚好都是比较擅长的 但面试周期较长 面到三面的时候已经多半个月了 有点力不从心 也有自己没有准备好的原因 有点懈怠了 三面问的问题大白话的偏多 奈何本人嘴笨 血压逐渐拉满 不过也算没有遗憾 深知能力有限 就酱吧

整理了下其他面试中都涉及过的问题

网络

http请求、tcp握手回收、MQTT相关
复制代码

数据结构

树、链表
复制代码

Java

GC、Collection、Map
多态 
多线程、各种锁机制
复制代码

Android

性能优化、ANR、内存泄漏
Activity启动模式、启动流程
四大组件
Hanlder机制、事件分发、绘制流程
MVP、MVVM、插件化(hook)
跨进程通信、aidl、广播、ContentProvider
okhttp、retrofit、glide、eventbus底层原理
复制代码

Kotlin

kotlin反射、kotlin泛型
协成原理  await、async区别 
lateinit和by lazy区别
复制代码

Flutter

猜你喜欢

转载自juejin.im/post/6946943775369330718