首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
面试杂谈
南北是北北
创建于2025-09-23
订阅专栏
面试相关问题,后续会整理进所属的专栏
暂无订阅
共22篇文章
创建于2025-09-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Activity中的onCreate中是否可以获取到view的宽高,为什么获取不到,怎么才能获取到
简短结论: onCreate() 里通常拿不到 View 的最终宽/高(多为 0) 。 原因是 measure/layout/draw 尚未发生;只有首帧布局完成后视图才有确定尺寸。 正确拿法:把读取
Android Network Security Config(防抓包相关)
什么是 Network Security Config 通过一个 XML 文件声明式定制 App 的网络安全策略(无需改代码):是否允许明文 HTTP、每个域名用哪些信任根(CA)、是否做证书/公钥
Android APK 各签名方案(v1 / v2 / v3 / v3.1 / v4)工作原理与作用
0. 一图速览(签名覆盖与“签名块”) APK 结构(末尾) v1(JAR) :逐个文件计算摘要,写进 META-INF/(MANIFEST.MF/.SF/.RSA)。不覆盖 ZIP 元数据;安装校验
Activity的五种启动模式的具体使用场景详解
下面把 Activity 五种启动模式按“适用场景 → 典型搭配 → 返回栈行为 → 代码示例 → 易错点”讲清楚;最后给一张选型对照表与决策建议。 (五种=standard、singleTop、si
AQS : AbstractQueuedSynchronizer
它做了什么 提供一个基于 FIFO 的等待队列 + 一个原子状态值 state,配合 CAS + LockSupport.park/unpark,把“获取/释放资源”的通用流程封装好;具体如何占用/释
synchronized 和 ReentrantLock 的区别
一句话结论 synchronized:语法级、JVM 内建监视器锁,简单、自动释放,功能少但足够稳。 ReentrantLock:基于 AQS 的可重入显式锁,可中断/可超时/可选公平/多条件队列,功
可重入读写锁(ReentrantReadWriteLock)
核心概念 读锁(ReadLock, 共享) :允许多个线程同时持有,互不阻塞;与写锁互斥。 写锁(WriteLock, 独占) :同一时刻只允许一个线程持有;与任何读/写互斥。 可重入:同一线程可多次
ConstraintLayout(约束布局)
1) 设计思路 & 工作原理(它是怎么“算”出来的) 目标:用一层容器表达复杂相对关系,减少嵌套,提高测量/布局效率,并能优雅地做动画。 核心机制(高层抽象) 约束图(Constraint Graph
锁概念:互斥锁、可重入锁、可重入读写锁、悲观锁、乐观锁
1) 互斥锁的基本语义(锁=临界区的序列化器) 目的:在多线程下一次只允许一个线程进入临界区,避免竞态条件。 典型实现: JVM 级:synchronized(对象监视器),ReentrantLock
tablayout列表,左右滑动,有很多页面,怎么优化性能
0) 先选路线(很关键) 页数 ≤ 10:直接 ViewPager2 + FragmentStateAdapter,常规优化即可。 页数 10 ~ 50:仍可 ViewPager2,但务必只缓存少量页
android从点击图标icon到进入首页的系统调用过程
一、总览(参与者) Launcher(三方/系统桌面) → ActivityTaskManagerService(ATMS in system_server) →(无进程则)Zygote → app
单例双check两个非空判断的作用以及时机
两个 null 判断各做什么、发生在什么时候、去掉其中一个会怎样。 ① 外层 null 检查(第一次) 作用:在已完成初始化后,绝大多数调用可以直接返回,避免进入同步块,降低开销。 时机:每次 get
fragment为什么不建议有参数的构造方法
Fragment 不建议写有参构造方法,因为 系统会在重建 Fragment 时(旋转、进程被杀后恢复、返回栈还原、Nav 回退)用反射调用 无参构造 来实例化。构造函数里的入参不会被保存/恢复,轻则
直播间的IM消息是如何区分礼物消息和正常消息的
1) 一条“房间时间线(Room-Timeline)” 所有进入直播间的事件(聊天、进场、点赞、礼物、系统公告……)都写入同一条按房间有序的时间线,每条事件都有: roomId, roomSeq(单房
Nestedscroll和传统的手势有什么区别
1) 它们各自是什么 传统手势机制 指 dispatchTouchEvent → onInterceptTouchEvent → onTouchEvent 这一套 MotionEvent 分发/拦截模
NestedScrolling Parent1,2,3 Child1,2,3之间的关系以及是如何完成嵌套滑动的
1) 一句话大图 目标:让“内层可滚动的 Child”和“外层可滚动的 Parent”协同消费同一手势/滚动(谁该先吃、吃多少、吃不完谁接着吃)。 核心机制:Child 在滚动周期中,按顺序向父系链路
简单说一下java 垃圾处理器回收机制
1) 基本概念 可达性分析:从 GC Roots(线程栈、本地变量、静态字段、JNI 全局等)出发能“走到”的对象为存活。 Stop-The-World(STW):GC 的关键阶段会暂停所有业务线程(
https是如何保证安全的
HTTPS 的“安全”其实是 TLS 协议在起作用。它解决三类风险:被窃听、被篡改、被冒充。核心就是——**确认对方身份 + 建立只属于你们俩的加密通道 + 校验每一比特没被改过**。 # **HTT
TCP和UDP是什么、彼此关系、各自机制细节、典型场景
它们是什么(在哪一层) TCP(Transmission Control Protocol) :传输层的面向连接、可靠、按序的字节流协议。适合“必须一字不差”的场景(网页、文件、数据库…)。 UDP(
volatile的读写屏障
1) JMM 赋予volatile的三件事 可见性:对同一 volatile 变量的写,对随后(happens-after)读是立即可见的。 有序性(禁止重排): 写-release:volatile
下一页