Android 面经:我是如何进入大厂腾讯的?(1)

笔者从7月份开始面试,到8月中旬截止(因为腾讯已经面试通过,自己面试面的也累了,就决定去腾讯了)

接下来就说说各家的面试题,一共面试了快二十家公司,既有外包,也有中小型企业,也有准备D轮甚至上市的C轮企业,更有BAT等知名企业。接下来就一一说一下各家公司的面试题。

也建议各位面试的时候不要上来就直奔BAT等,大厂面试官的技术广度与深度也不是刚出来面试的你,能搞定的。最好先去一些小公司看看他们问的哪些东西,自己回去在查漏补缺一下,最后去大厂。最后祝各位能进入自己心仪的公司。

按照面试的时间顺序来一一罗列各家公司的面试题。(记忆可能出现纰漏,哈哈,各位看看就好,有些公司的面试可能比较常规,就没有什么特别的印象)

武汉佰钧成(外包OPPO,自家面试官)

因为是周六的专场面试,也不用请假,所以马上就参加了这家公司的面试。
两轮面试

  • Activity的启动流程
  • Activity的启动模式,应用场景
  • 如何减少对第三方框架的耦合
  • hashmap的基本原理
博彦科技(外包OPPO,OPPO面试官)

两轮面试

  • Handler机制
  • Binder机制
  • 写一个单例模式,DCL为什么要加V关键字
  • 直接在Activity Sleep 5000ms,再post一个runable会不会ANR。
  • 如何监听ANR
  • View的绘制流程,每个都是干什么的
  • 事件传递机制
Insta360 (C轮公司)

三轮面试

  • 组件化如何实现组件通信
  • HashMap基本原理 如何减少hash冲突 如何增大hash冲突
  • 安装包怎么优化的
  • 如果有A,B,C,D,E五个步骤,每个步骤都需要操作对应请求,用哪种设计模式。
华为外包

两轮技术面试

  • 安装包优化做了哪些工作
  • 对加班怎么看的

本来一面完了就让我等着二面的,等了十分钟后跟我说二面面试官暂时不在,等下次再约时间,出门等了10分钟的公交,离家还有20分钟的时候,又给我打电话让我回去参加第二面,然后就没去了,太折腾人。

绿网科技

三轮技术面

  • hashmap原理
  • MVP,MVVM,MVC的区别是什么
  • Java Memory Model的内存模型
  • 如果让你设计一个app,打算怎么设计
  • JVM垃圾回收有哪几种算法,有哪几种垃圾回收处理器
  • Serial使用的哪一种回收算法
  • JVM的内存模型
  • Android主线程是怎么启动的
  • dex是如何转为机器码的
  • llvm编译是如何优化代码的
  • 说一个你自己的缺点。

最终结果是这样的 哈哈,还是不能要太高

坑爹坑爹

同洲电子

四轮技术面

  • Activity的启动流程
  • 静态类的静态方法能不能被子类重写(不能,走的invoke-static指令,只有走invoke-virtual指令的才可能实现多态)
  • Linux的启动流程
  • 对Native层有没有兴趣
  • 对做智能家居有没有兴趣
  • 招一个应届生进来做app也是做,招你也是做,为什么要招你
顺丰科技

一轮技术面 总共三轮面试

  • handler机制
  • looper的唤醒是在Java还是Native层,怎么做到的
  • HashMap,ConcurrentHashMap,HashTable有什么异同
  • Binder通信机制
  • 跨平台开发熟不熟悉
  • 如何提高海外用户的访问速度,假设服务器在深圳。
  • 如何学习一个新东西,有哪些执行步骤
百度
  • 红包随机算法 是怎么做到的
  • 写一个二叉树的深度度优先遍历,递归 非递归
  • Android中LocalServerSocket是干什么用的
  • binder的Native层代码看过吗
  • Linux有哪些RPC机制
  • 为什么android使用了Binder机制没采用共享内存
  • 如果让你设计一套进程间通信的机制,你会怎么设计
  • Linux的模块动态加载机制是怎么实现的
  • 一个物理屏划分为三个逻辑屏,是靠谁来分发事件的。
  • ConcurrentHashMap是不是绝对的线程安全。(final,绝对线程安全,相对线程安全,线程不安全)
  • 线程池是如何管理线程状态的
大宇无限(C轮公司 前身是豌豆荚)

是我第二心仪的一家公司,办公环境,氛围,福利都好的一逼,可惜了
总共七轮面试 五轮技术面

  • Kotlin的访问权限
  • Koltin为什么比Java更安全
  • Koltin比Java好在哪
  • JVM的内存模型
  • JMM的内存模型
  • 为什么操作数栈是Thread-Private
  • 计算二叉树的深度
  • ArrayList跟LinkeList区别
  • ArrayList如何扩容的,如何提高ArrayList的效率
  • 动态代理静态代理区别
  • 启动优化怎么做的。
  • 如果给你个IOS APP,你打算怎么优化。
  • http有哪几种版本,版本间有什么区别。https跟http有什么区别。
  • apk为什么要签名,v1跟v2签名的区别
  • apk从编译打包都安装的流程
  • dex到odex为什么不能在编译期优化
  • 热修复原理
  • 你的优势是什么
平安

三轮面试

  • http2.0 1.1 1.0的区别
  • http如何保证安全性
  • 安装包优化有哪几种方式
  • 启动优化有哪几种方式
  • View的绘制流程,每个方法干什么的,如果要获取View的宽高,在哪个方法里获取
  • 如何应对弱网环境
  • android数据存储方式
  • 如果一个app无法访问网络,你怎么做数据存储。
  • DVM跟JVM的区别
  • React Native跟原生开发的优劣
腾讯

三轮面试

最后

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

阿里P7Android高级教程

下面资料部分截图,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。

附送高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、近期面试跳槽、自身职业规划迷茫的朋友们。

Android核心高级技术PDF资料,BAT大厂面试真题解析;

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
ndroid核心高级技术PDF资料,BAT大厂面试真题解析;**
[外链图片转存中…(img-bb0lX4Ce-1714693997271)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值