Android 面经:我是如何进入大厂腾讯的?
本文由 koller 授权投稿https://juejin.im/post/5d67e134e51d4562043f5746
由于众所周知的原因,移动端由于多年的发展,现如今面试要求变得越来越高,作为一个Android程序员,不仅要会Java、Kotlin、Flutter,甚至还得会JavaScript、Css、Html,有的公司还要求C++、FFmpeg、Linux等相关知识。
笔者从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跟原生开发的优劣
腾讯
三轮面试
一面:
算法题 通电小球
Android 沉浸式状态栏 怎么实现的
事件处理函数有哪几个,父View 子View 监听同一个事件,重写哪些方法。在哪个View重写?
ViewRootImpl接受事件吗?
apk编译打包流程 V1,V2 签名区别
利用logging监听方法耗时,会不会让app增大延迟。
eventbus为什么要用CopyOnWriteList?
插件化怎么加载资源的?
JVM怎么保证gc效率跟线程运行效率的 ?
如果android没用对应的view,flutter能运行吗?手写单例模式,volatile 跟 synchronized区别?
接口暴露,但是不让别人调用,有哪些办法?
二面:
为什么采用flatbuffer? 比Json好在哪里?
如何处理Crash,NativeCrash呢?Google是怎么做到的?如果上报过程中再次产生Crash能不能捕捉到?
uncaughtException是被谁调用的,如果再次崩溃能不能捕获到?
Linux是怎么知道app崩溃的,如果想要在被kill前 做一些耗时操作,该怎么做?
考虑设计一个crash捕捉模块。
100万个数字求100个最大值。
手写快速排序算法。
三面 (GM面):
kotlin比Java好在哪里,是函数式编程吗?
如何防止DNS劫持?
如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢?
总结
就我这次的面试经历来看,发现大厂基本上不太看重具体的技术,无论你是Java还是C++,比较看重思路与抽象的解决方案,不知道大家是怎么觉得。
如果看到这里的同学,想在技术上有精进的话,推荐几本书跟专栏。
强烈推荐
《张绍文-Android开发高手课》
推荐
推荐阅读
编程·思维·职场
Android 面经:我是如何进入大厂腾讯的?相关推荐
- Android直播软件开发中接入腾讯IM大概流程是怎样的
现阶段来看,直播软件中的即时通讯是非常重要的一个部分,毕竟直播过程中的交流和沟通是非常重要的,所以在Android直播软件开发时需要接入相关的IM服务. 通常我们选择的即时聊天服务,会选择集成简单方便 ...
- Android 抛弃原生WebView,使用腾讯X5内核、并加入广告拦截。
大家都不知道原生的WebView 存在各种坑.各种适配问题. 最近在使用,总会出现DNS被拦截的情况.预览了各个大神的论坛与博客. 发现可以更改WebView内核.找到了比较火的两个. 分别是:腾讯X ...
- 我是如何在腾讯和新美大(大众点评、美团)面试的
目前拿到的知名公司的offer是腾讯和新美大(大众点评.美团).一直想写一篇面经分享给大家,但因为一些琐碎的事情,就一直耽误着. 今天就特意拿出一些时间去写它.很多人都分享了很多的面经,而且还有好多面 ...
- Android应用内展示office文件--腾讯浏览服务(TBS)
前一篇写了用webview加载预览office文件,但是没有成功,所以只能另寻办法,上网查到了TBS(腾讯浏览服务),完美的解决了android端预览offic文件: 什么是TBS 依托 X5 内核 ...
- 电脑管理android手机版下载失败怎么办,腾讯手机管家PC版轻松解决Android文件管理难题...
智能手机使用时间越来越长,照片.视频.音乐.应用软件等不断增多.起初,还能把各类文件管理的有条不紊,但随着不断的拷贝.新建.删除,眼看着手机中的文件夹越来越多.越来越复杂,手机中的文件资料也开始像杂货 ...
- android客户端接入新浪、腾讯微博以及人人网
本文原创http://blog.csdn.net/yanbin1079415046,转载请注明出处. 从事android工作也有段时间了,碍于肚子里料不多,一直也没写过什么东西.最近刚好项目中要接入新 ...
- 讲的真详细!如何成为一个更好的Android开发者?成功入职腾讯
前言 文章篇幅较长,建议耐心食用,相信对你有帮助.码字不易,如果有误,欢迎指出. 前部分是面试经历,后部分是附带的问题笔记/推荐回答/书籍. 我的微信小号有一组特殊的朋友.他们从 CSDN上看到我之前 ...
- android webview第三方框架,Android 中使用第三方 WebView,腾讯X5浏览器
由于Android自带的webview,在低于4.3的手机上面不支持socket,因此寻求其他的解决方案,第一次应用中尝试加入Crosswallk,应用的体积整整大了40M,倒是也可以正常使用,app ...
- 2022京东最新Android面试真题解析,腾讯T3亲自教你
前言 为什么今天突然说到学习路线,学习资料.因为最近在看知乎的时候,我看到一个大家都比较在意的一个问题,就是大家对工资和自己具备的能力是否成正比报有疑虑,所以今天这篇文章不仅仅是给大家解答这个疑虑,更 ...
最新文章
- iOS 关于pods-frameworks.sh:permission denied报错的解决
- matlab循环求 近似for,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!...
- 用Mysql创建设备管理信息系统数据库(图解)
- JS中find(), findIndex(), filter(), forEach(), some(), every(), map()方法
- 豆米--基于豆瓣API的WP7书籍搜索工具开源啦!
- 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇
- [tensorflow]tensorflow2.0的优化理论
- Android SurfaceView双缓存
- makefile中的wildcard和notdir和patsubst
- c语言游戏计算器代码,C语言计算器代码.doc
- 【SDPVRP问题】基于遗传算法求解同时取送货的车辆路径问题含Matlab代码
- qpsk matlab仿真,qpsk的matlab和simulink仿真.pdf
- Linux 代码美化(二)
- 恩尼格玛密码机原理解析(Enigma principle )
- overleaf表格_latex编写表格.doc
- Combined Margin loss人脸识别训练笔记
- php 足迹,php实现网站浏览足迹功能
- IntelliJ IDEA设置版权
- 数据分析pandas使用
- 上大学之前,一定要明白这10大潜规则,你会少走很多人生弯路
热门文章
- PhotoShop一键修改4的倍数图片工具
- 【工作笔记】004 tapestry框架
- HTML背景渐变圆圈,背景渐变:html5+css3中的background: -moz-linear-gradient 用
- 概率计算机在线,高斯正态分布(概率)计算公式与在线计算器_三贝计算网_23bei.com...
- 复旦大学python教程_安装python-复旦大学大数据学院.pdf
- 2021-08-06随记(vertical-align, 顶线、底线、中线、基线,vue原理理解)
- 计算机技术员自我介绍,技术员的自我介绍范文
- 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)
- 物联网NB-IoT之电信物联网开放平台对接流程浅析
- 过拟合与欠拟合及解决方法