大佬有思路吗? 我想是开条进程取去 dump ? 但是开进程能 dump 到吗。。。
1
yitingbai 2021-05-23 22:00:46 +08:00
这个面试题太高级了吧, 感觉已经超出了普通 APP 开发者的知识范围了.
|
2
WngShhng 2021-05-23 23:42:00 +08:00
|
3
nuk 2021-05-23 23:48:33 +08:00
注入远程线程,fork 后再 dump,不过一个 android 进程能占多大内存,直接 dump 到 /tmp 是最省事的吧。。
|
7
liuidetmks 2021-05-24 08:38:16 +08:00
这个不会是 "有个 bug 无法解决,找个面试的问问吧"
面试问这个,大概率想白嫖你 |
8
hongch 2021-05-24 11:05:11 +08:00
这是面内核开发岗?
|
9
oxromantic 2021-05-24 12:22:57 +08:00
“很卡?我做过,不卡啊”
|
11
nicocho 2021-05-24 13:54:33 +08:00
..这移动应用开发 都卷成这样了...
方便说下面试岗位薪资么 |
13
billccn 2021-05-24 18:13:56 +08:00
这个题目很有问题的。如果应用可以继续跑,那它内存就在变化,你 dump 出来的可能是无效的。比如你 dump 过程中它正好 GC 了,把部分对象都挪了个窝,那你已经 dump 的部分里面的指针都可能是错的。不要说这还涉及 Java 内存模型中很多数据你是无法绕过 lock 直接异步读取的,强读的话可能会出现一个 64 位的值只写了一半的问题。
所以这个问题只能在内核级别(实现 copy-on-write 虚拟页面)或者 JVM 级别解决,问问题的人有水平的话想几分钟就知道,那还要问就是想白嫖你。 |
15
LongYard 2021-05-25 11:50:37 +08:00
吓尿了。。。不会是应届吧。。。
|