本文由 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 面经:我是如何进入大厂腾讯的?相关推荐

  1. Android直播软件开发中接入腾讯IM大概流程是怎样的

    现阶段来看,直播软件中的即时通讯是非常重要的一个部分,毕竟直播过程中的交流和沟通是非常重要的,所以在Android直播软件开发时需要接入相关的IM服务. 通常我们选择的即时聊天服务,会选择集成简单方便 ...

  2. Android 抛弃原生WebView,使用腾讯X5内核、并加入广告拦截。

    大家都不知道原生的WebView 存在各种坑.各种适配问题. 最近在使用,总会出现DNS被拦截的情况.预览了各个大神的论坛与博客. 发现可以更改WebView内核.找到了比较火的两个. 分别是:腾讯X ...

  3. 我是如何在腾讯和新美大(大众点评、美团)面试的

    目前拿到的知名公司的offer是腾讯和新美大(大众点评.美团).一直想写一篇面经分享给大家,但因为一些琐碎的事情,就一直耽误着. 今天就特意拿出一些时间去写它.很多人都分享了很多的面经,而且还有好多面 ...

  4. Android应用内展示office文件--腾讯浏览服务(TBS)

    前一篇写了用webview加载预览office文件,但是没有成功,所以只能另寻办法,上网查到了TBS(腾讯浏览服务),完美的解决了android端预览offic文件: 什么是TBS  依托 X5 内核 ...

  5. 电脑管理android手机版下载失败怎么办,腾讯手机管家PC版轻松解决Android文件管理难题...

    智能手机使用时间越来越长,照片.视频.音乐.应用软件等不断增多.起初,还能把各类文件管理的有条不紊,但随着不断的拷贝.新建.删除,眼看着手机中的文件夹越来越多.越来越复杂,手机中的文件资料也开始像杂货 ...

  6. android客户端接入新浪、腾讯微博以及人人网

    本文原创http://blog.csdn.net/yanbin1079415046,转载请注明出处. 从事android工作也有段时间了,碍于肚子里料不多,一直也没写过什么东西.最近刚好项目中要接入新 ...

  7. 讲的真详细!如何成为一个更好的Android开发者?成功入职腾讯

    前言 文章篇幅较长,建议耐心食用,相信对你有帮助.码字不易,如果有误,欢迎指出. 前部分是面试经历,后部分是附带的问题笔记/推荐回答/书籍. 我的微信小号有一组特殊的朋友.他们从 CSDN上看到我之前 ...

  8. android webview第三方框架,Android 中使用第三方 WebView,腾讯X5浏览器

    由于Android自带的webview,在低于4.3的手机上面不支持socket,因此寻求其他的解决方案,第一次应用中尝试加入Crosswallk,应用的体积整整大了40M,倒是也可以正常使用,app ...

  9. 2022京东最新Android面试真题解析,腾讯T3亲自教你

    前言 为什么今天突然说到学习路线,学习资料.因为最近在看知乎的时候,我看到一个大家都比较在意的一个问题,就是大家对工资和自己具备的能力是否成正比报有疑虑,所以今天这篇文章不仅仅是给大家解答这个疑虑,更 ...

最新文章

  1. iOS 关于pods-frameworks.sh:permission denied报错的解决
  2. matlab循环求 近似for,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!...
  3. 用Mysql创建设备管理信息系统数据库(图解)
  4. JS中find(), findIndex(), filter(), forEach(), some(), every(), map()方法
  5. 豆米--基于豆瓣API的WP7书籍搜索工具开源啦!
  6. 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇
  7. [tensorflow]tensorflow2.0的优化理论
  8. Android SurfaceView双缓存
  9. makefile中的wildcard和notdir和patsubst
  10. c语言游戏计算器代码,C语言计算器代码.doc
  11. 【SDPVRP问题】基于遗传算法求解同时取送货的车辆路径问题含Matlab代码
  12. qpsk matlab仿真,qpsk的matlab和simulink仿真.pdf
  13. Linux 代码美化(二)
  14. 恩尼格玛密码机原理解析(Enigma principle )
  15. overleaf表格_latex编写表格.doc
  16. Combined Margin loss人脸识别训练笔记
  17. php 足迹,php实现网站浏览足迹功能
  18. IntelliJ IDEA设置版权
  19. 数据分析pandas使用
  20. 上大学之前,一定要明白这10大潜规则,你会少走很多人生弯路

热门文章

  1. PhotoShop一键修改4的倍数图片工具
  2. 【工作笔记】004 tapestry框架
  3. HTML背景渐变圆圈,背景渐变:html5+css3中的background: -moz-linear-gradient 用
  4. 概率计算机在线,高斯正态分布(概率)计算公式与在线计算器_三贝计算网_23bei.com...
  5. 复旦大学python教程_安装python-复旦大学大数据学院.pdf
  6. 2021-08-06随记(vertical-align, 顶线、底线、中线、基线,vue原理理解)
  7. 计算机技术员自我介绍,技术员的自我介绍范文
  8. 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)
  9. 物联网NB-IoT之电信物联网开放平台对接流程浅析
  10. 过拟合与欠拟合及解决方法