腾讯Android校招一面经 10/19(凉)

居然腾讯还约我面试,真是神奇,不过估计就是来刷个KPI了。自己太久没面试生疏了很多。

开局自我介绍。
聊实习以及项目。

Android

1、如何分析一个Crash?
2、Java层Crash如何捕获?
3、NativeCrash如何捕获?
4、AIDL了解嘛?
5、讲一下Binder机制。

Binder是一种Android系统的IPC方式,本质上是一种C/S架构的通信方式。
Binder机制在使用时的一个核心角色就是ServiceManager,主要负责在通信过程中的传输中介。
Binder在通信时就会通过Binder驱动在ServiceManager中进行注册,注册完成后下次通信就会通过ServiceManager的接口去ServiceManager获取相关service并进行通信。
Binder机制的通信原理是通过在内核空间中开辟一块内存,将某进程的一块空间映射到内核空间中,然后发送方就通过调用copy_from_user()将数据传输到该进程空间中,藉此来达到一次复制完成通信的过程。
值得注意的是发送方进程通过系统调用 copy_from_user() 将数据 copy 到内核中的内核缓存区。发送方是主动方。

6、Binder机制是如何实现一次复制实现通信的?

Binder机制的通信原理是通过在内核空间中开辟一块内存,将某进程的一块空间映射到内核空间中,然后通信方就通过调用copy_from_user()将数据传输到该进程空间中,藉此来达到一次复制完成通信的过程。

7、看过Binder的源码嘛?
8、没有AIDL能够实现Binder机制那样子的进程通信嘛?
9、OkHttp讲一下你的了解。



Java

1、讲一下Java的异常机制。
2、讲一下JVM的角度是如何处理Java异常的。
    
3、讲一下类加载的过程。


手撕部分:

三个线程轮流打印ABC,给了十分钟,有点紧张,有个问题没做出来,难受。

反问环节:

Q:有什么是我需要改进的。
A: 代码调试能力需要加强,Binder之类的知识要学会去看源码,这样才能更好的排错。

结束。

妈的,还要我去看Android的源码,这我哪里做得到啊,手撕题有点紧张没做出来着实可惜,凉凉,安心准备去百度了。


#面经##面试题目##腾讯##安卓工程师##Android#
全部评论
姐妹哪个事业群呀!
点赞 回复 分享
发布于 2021-10-20 17:10

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
3
19
分享
牛客网
牛客企业服务