腾讯社招一二三面(大概是凉了)

一面

mmap + native 日志优化?
广播和 EventBus 的区别?
常用设计模式你了解哪些?
跨进程通信有哪些?
简单讲讲 binder 驱动吧?
跨进程传递大内存数据如何做?
说说 ConcurrentHashMap 的实现原理说下,初始化大小是多少?
启动优化怎么优化?
你写的 rxpay 和 rxlogin 具体怎么实现的?
kotlin + fullter 方面的

二面

单例设计模式都写写,静态内部类是怎么保证线程安全的?
synchronized 底层实现原理,ReentrantLock 公平锁与非公平锁。
主线程等待所有线程执行完毕,再执行某个特定任务怎么实现?原理和源码看过没?
自定义 view 的一般流程,要注意些什么如何优化,点击事件和长按时间分别是怎么实现的?
四种启动模式,在源码分析中的原理是怎样的?
讲讲 bindService 的过程,你当初是怎么优化后台服务进程的?
开发中你都用到了哪些设计模式?说说当时具体的场景。为什么你要用方法工厂,另外两种呢?
RxJava 在使用过程中碰到了某些不友好的错误一般怎么解决?发现了内存泄露一般怎么解决分析,有没有碰到过系统服务内存泄露的问题?
你们用的 okhttp ?那你有没有做过一些网络优化呢?比如弱网环境。
给你个数 1 吧,比如 1000011 里面有几个 1 ?
快排了解不?最坏的情况是怎样?如果有大量重复数据怎么优化?

三面

讲讲 handler 的底层实现原理?
说说你做的日志记录优化?
你看过 binder 驱动的源码,说说他的内存映射过程,说说客户端等待服务端处理返回的流程,如果要跨进程传递大内存数据你具体会怎么做?简单写一写吧。
在公司做过哪些优化?
开发过程中遇到的一些最难解决的问题?
提到了动态修复替换加载 so ,那你知道怎么修复 class 吗?怎么修复资源呢?
还有什么要问我的?

个人体会

要是换几年前我感觉这些面试题估计一个也答不好,但是今天回过头再来看其实感觉也就一般般吧。
大厂的正常面试流程周期一般是一到两个月,就算薪资谈完到 offer 最终审批下来可能都需要一到两周,这段时间心理是比较难熬的,因此建议大家尽量不要裸辞。面试完毕一般都会透露多久给答复,如果是猎头推的多跟猎头联系,大家要尽量想办法打听到最新的动态。
#腾讯##社招##面经##安卓工程师#
全部评论
6 39 评论
分享