7.18一面
提前批的第一个面试,啥都还没开始看,现在看问的非常简单,但是当时没开始复习答得很差。
常规问题:
自我介绍
看你简历做算法很有优势为什么想来做客户端
语言:
Java允许多继承吗
面向对象三大特性
多态怎么实现
python和Java对比哪个效率高,为什么
python语言特性
静态编译动态编译
Java允许动态下发代码吗
操作系统:
进程和线程区别
为什么出现多线程
物理地址和虚拟地址
虚拟内存和物理内存哪个大
为什么引入虚拟内存
计网:
TCP是osi哪一层的
tcp和udp区别
微信视频是用了tcp还是udp
udp的优点
http基于tcp还是udp
http3有了解吗
http3是基于tcp还是udp
为什么很多用https而不用http
加密算法有了解吗
什么是对称加密和非对称加密
https的加密是对称的还是非对称的
为什么https没有一直用非对称加密(非对称加密的缺点)
数据结构:
数组链表区别
手撕合并升序数组,时间复杂度
8.25被另一个部门捞起来
Android四大组件作用及应用场景
activity四个启动模式?
singleTask如何实现栈内复用(clearTop特性)
singleTask会调用activity中的哪个方法?(onNewIntent)
调用onNewIntent之后会走哪些生命周期?
service在项目中怎么使用?
两种service有什么区别?
IntentService和普通的service有什么区别?
service如何通信?
子线程能否直接更新UI?
怎么在子线程中更新UI?
Handler机制工作流程?
为什么可以在Handler中更新UI?
RecycleView如何实现多类型的显示?具体调用哪些方法?
如何做的性能优化?
如果有一张巨大的图如何加载到尺寸很小的imageview?
Glide加载流程?
Looper如何将消息队列中的消息分发给Handler?可能会把同一个消息给多个Handler吗?
反问:业务,招聘时更看重基础能力还是项目契合程度?(因为面试没问任何八股,好多Android挖的还比较深,面试官说因为部门实在太忙,没有时间带,所以更看重业务能力,最好来了能直接上手业务)