文不对题地答一发。
我并没有在高德地图工作过,只是在北京阿里的高德(望京)去面试过一次Android开发工程师,大概在18年4月左右。期间面试官问到的问题很广,其中面试官问到了一个Android上的ClassLoader是怎样加载类的,我说jvm是双亲委派模型,如果一个类没有加载,那么当前的classloader会先让父亲找,父亲也是先让自己的父亲找,爷爷是BootClassLoader,上面到头了就再也没有爸爸了。面试官点点头,问我:那其实这是单亲家庭啊,可是为什么都叫双亲委派模型么。我一下愣了,是啊,这是单亲啊。。然后又问我系统默认的classloader有哪些啊?我说BootClassLoader和ApplicationClassLoader,Android上一般是DexPathClassLoader。。他说还有一个吧,我不知道,他说ExtensionClassLoader,我又愣了。。结果是面试没有通过。
最近又在看classloader的相关文章,连android手机并做了一些测试,我才发现,当时没有去高德的那个组是对的。为什么?听我一一道来。
首先,为啥叫双亲委派模型呢,因为本来的英语叫Parent Delegate Model,Parent是双亲的意思。。马达。。
然后呢,少了一个ExtensionClassLoader,我debug一看,Android上并没有这个ClassLoader啊,那是PC上才有的,我觉得面试官可能死记硬背了某书或者某博的技术文章吧。
综上,没有对高德有什么意见,只是我觉得高德那个技术组,跟我不搭调。或者当时这个组没有HC了,所以并没有诚心实意的招人。 |