同作为面试官,不认同把文中把开头中的几个问题作为面试题。
比如"Event事件和State状态是什么关系",这完全是源码中为了实现一些功能的中间态记录,即便是不用Event和State的方式,一样有其他的实现方式。还有,"如果在onResume()注册观察者会收到那几个种回调" 这种问题完全取决于源码中的实现,谷歌工程师既可以这样实现,也可以那样实现,看过的就知道,不看的就不知道,所以提问价值并不高。这种问题反而显示出面试官水平有限,浪费时间不说,也并不能真正考察面试者的水平。换一个思路,与其问这种问题不如问"如果让你设计,你会让在onResume() 注册的观察者收到前面的事件吗,为什么"。By the way, 这种问题并没有标准答案,但是可以从交谈中深入挖掘面试者思考问题时的逻辑性和全面性。