面试回忆录「上」(腾讯/阿里/滴滴/美团...)

点击上方的终端研发部,右上角选择“设为星标”
每日早9点半,技术文章准时送上
公众号后台回复“学习”,获取作者独家秘制精品资料

image

往期文章

记五月的一个Android面试经

今日头条屏幕适配方案落地研究

APK瘦身-是时候给App进行减负了

即学即用Android Jetpack - Navigation

手机商对“鸿蒙”进行了密集测试:比安卓系统快?

原文地址:https://www.jianshu.com/p/4e839adcd559

作者:soulrelay

前言

也许到了金九银十,很多人在群里问我要面试题,没办法,也许太难伺候了,好吧,就给大家总结一波。目前部分对基本工和源码比较看重,主流的Kotlin,Flutter也会有所要求。其他算法,源码,算法,自定义View万变不留其中,要想在这条android走下去,要学习的是很多的本文非最新面试题,参考更都可以去到我的公号去搜索。

近3年BAT面试真题整理合集

2019最新Android面试题

还在为面试发愁吗—这里将教会你如何去面试

回顾我两个月面试阿里,携程,小红书,美团,网易等等(Java岗)

写这篇面试回忆录的目的:梳理一下面试过程的知识点,为了以后可以更直观地回忆
希望给正在或者准备面试的朋友提供一些帮助其它:

没有严格按照一面、二面、三面来区分

目录

腾讯OMG

  • synchronize用法
  • volatile用法
  • 动态权限适配方案,权限组的概念
  • 网络请求缓存处理,okhttp如何处理网络缓存的
  • 图片加载库相关,bitmap如何处理大图,如一张30M的大图,如何预防OOM
  • 进程保活
  • listview图片加载错乱的原理和解决方案
  • https相关,如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解

阿里巴巴

  • LRUCache原理
  • 图片加载原理
  • 模块化实现(好处,原因)
  • JVM
  • 视频加密传输
  • 统计启动时长,标准
  • 如何保持应用的稳定性
  • ThreadLocal 原理
  • 谈谈classloader
  • 动态布局
  • 热修复,插件化
  • HashMap源码,SpareArray原理
  • 性能优化,怎么保证应用启动不卡顿
  • 怎么去除重复代码
  • SP是进程同步的吗?有什么方法做到同步
  • 介绍下SurfView
  • HashMap实现原理,ConcurrentHashMap 的实现原理
  • BroadcastReceiver,LocalBroadcastReceiver 区别
  • Bundle 机制
  • Handler 机制
  • android 事件传递机制
  • 线程间 操作 List
  • App启动流程,从点击桌面开始
  • 动态加载
  • 类加载器
  • OSGI
  • Https请求慢的解决办法,DNS,携带数据,直接访问IP
  • GC回收策略
  • 画出 Android 的大体架构图
  • 描述清点击 Android Studio 的 build 按钮后发生了什么
  • 大体说清一个应用程序安装到手机上时发生了什么;
  • 对 Dalvik、ART 虚拟机有基本的了解;
  • Android 上的 Inter-Process-Communication 跨进程通信时如何工作的;
  • App 是如何沙箱化,为什么要这么做;
  • 权限管理系统(底层的权限是如何进行 grant 的);
  • 进程和 Application 的生命周期;
  • 系统启动流程 Zygote进程 –> SystemServer进程 –> 各种系统服务 –> 应用进程
  • recycleview listview 的区别,性能

滴滴

  • MVP
  • 广播(动态注册和静态注册区别,有序广播和标准广播)
  • service生命周期
  • handler实现机制(很多细节需要关注:如线程如何建立和退出消息循环等等)
  • 多线程(关于AsyncTask缺陷引发的思考)
  • 数据库数据迁移问题
  • 设计模式相关(例如Android中哪里使用了观察者模式,单例模式相关)
  • 微信的聊天数据在本地都是加密处理的(防止root了被破解),设计一个类似的本地数据存储系统
  • x个苹果,一天只能吃一个、两个、或者三个,问多少天可以吃完
  • Android相关你最擅长哪一块
  • TCP与UDP区别与应用(三次握手和四次挥手)涉及到部分细节(如client如何确定自己发送的消息被server收到) HTTP相关 提到过Websocket 问了WebSocket相关以及与socket的区别
  • 是否熟悉Android jni开发,jni如何调用java层代码
  • 进程间通信的方式
  • java注解
  • 计算一个view的嵌套层级
  • 项目组件化的理解
  • 基于自身工作经验和计算机相关知识,给出 移动端地图局部加载 瓦片大小的像素大小估值
  • 多线程断点续传原理
  • Android系统为什么会设计ContentProvider,进程共享和线程安全问题
  • jvm相关
  • Android相关优化(如内存优化、网络优化、布局优化、电量优化、业务优化)
  • EventBus实现原理

美团

  • 线程挂起,休眠,释放资源相关,唤醒,线程同步,数据传递,问了很多线程的问题,问了20分钟大概
  • static synchronized 方法的多线程访问和作用,同一个类里面两个synchronized方法,两个线程同时访问的问题
  • 内部类和静态内部类和匿名内部类,以及项目中的应用
  • 泛型是什么以及在项目中的应用
  • handler发消息给子线程,looper怎么启动
  • down、move、up事件的传递
  • activity栈
  • 封装view的时候怎么知道view的大小
  • intent-filter
  • arraylist和linkedlist的区别,以及应用场景
  • 怎么启动service,service和activity怎么进行数据交互
  • 下拉状态栏是不是影响activity的生命周期,如果在onStop的时候做了网络请求,onResume的时候怎么恢复
  • view渲染

总结

共同点:对基础性、原理性的东西比较重视
具体问题的解决能力、项目的架构能力不同点:公司不同、产品业务线不同,所以涉及的技术重点和方向不同

思考:

有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西

阅读更多

程序员接私活经验总结

今日头条屏幕适配方案落地研究

IDEA 的优雅调试,让 bug 无处藏身!

面试官:你分析过线程池源码吗?

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

原文地址:https://www.cnblogs.com/gooder2-android/p/11588380.html

时间: 2024-10-06 07:46:25

面试回忆录「上」(腾讯/阿里/滴滴/美团...)的相关文章

上「知乎」,与 SAP 一同探索「独角兽」成长的甜蜜与烦恼

独角兽企业,一般指创办时间相对较短.估值超过10亿美元的创业企业.如今,全球独角兽公司榜单上的中国面孔越来越多.2017年,全球十大独角兽企业中,将近一半来自中国. 这些如同「开挂」一般迅速成长的企业,虽然饱受众多媒体与用户的青睐,更是资本市场的宠儿,但也不免要经历其它企业一般成长的阵痛.尤其是在「一夜长大」的过程中,独角兽们历经了员工数量的迅速膨胀.组织机构的急速扩张.业务方向的激烈动荡,甚至是外部环境的风云变幻. 可是他们终究成长了起来,如同许多年前第一把点燃中国民营经济之火的初代创业者一般

TYVJ2032 「Poetize9」升降梯上

P2032 「Poetize9」升降梯上 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大手柄. Nescafe之塔一共有N层,升降梯在每层都有一个停靠点.手柄有M个控制槽,第i个控制槽旁边标着一个数Ci,满足 C1<C2<C3<……<CM.如果Ci>0,表示手柄扳动到该槽时,电梯将

「SCOI2012」喵星球上的点名

「SCOI2012」喵星球上的点名 填一个很久以前用 \(\texttt{AC}\) 自动机没填上的坑. 关于本题,能够通过本题的算法很多,这里作者采用的是后缀数组+树状数组的做法. 首先有一个显然的结论:若 \(s_2\) 是 \(s_1\) 的子串,则 \(s_1\) 一定存在一个后缀与 \(s_2\) 的最长公共前缀为 \(|s_2|\). 我们将读入的姓.名.询问串连成一个整体,形成一个字符串 \(s\),且在每一个姓.名.询问串中插入一个不存在文本中的字符,且保证询问串后插入的比姓名串

揭秘腾讯阿里百度的薪酬待遇 简直就是人生目标

揭秘腾讯阿里百度的薪酬待遇 简直就是人生目标 2014-12-28 12:40:39 来源:IT之家作者:IT之家 三大互联网巨头公司,百度腾讯跟阿里如何划分级别?薪资待遇又有多少?除非身居其位,否则很难探知,但是等你到那个位置知道了,却又不能说,至少不能在公开场合谈论.接下来就为大家揭秘,百度.阿里与腾讯内部的级别划分跟薪资待遇.这是一个群众喜闻乐见却又讳莫如深的话题. 各个公司头衔名字都不一样,级别的数目也不一样;有些扁平,有些很多level慢慢升;有些薪水范围严格跟级别挂钩,有些薪水跟级别

互联网公司的2019年「春潮」:谁迎风逐浪,谁黯然退潮?

用一个词来形容过去一年的中国互联网,大概就是「波涛汹涌」.短短时间,中国互联网产业格局已经悄然发生改变.在 2019 年的金三银四求职季,小千结合一些求职案例,带领大家回顾一下 2018 年至今中国互联网企业的变迁,希望为大家的求职带来些许帮助. 一.大厂的中年危机,猝不及防一口「凉」 代表公司:网易 与传统行业相比,互联网向来是「年轻」与「不安分」的代名词.但是在互联网界,也有一些公司因为人员流动率低.工作节奏慢被誉为互联网里的「国企」.网易.新浪就是其中的典型代表. 尤其是网易,「一入猪场胖

从「集装箱」思考Docker风潮

从「集装箱」思考Docker风潮 -- Docker潮流下的赢家策略 By 高焕堂 (台灣Docker聯盟 主席) 2015/02/20 前言 在许多革命性转折里,经常出现集装箱的身影:它就像幸运草一般,总是带来许多幸福和财运.现在Docker风起云涌,再现集装箱身影,如果开放视野.大力支持它,持续发挥它的潜能和力量,则幸运草就会出现在我们身旁了. 由于Docker集装箱带来的商机,其最直接的受益者是软件管理者(或称维运者),例如软件测试工具业者.测试人员等.因此在今天,不论您是开发者或是维运者

技术人员应对「考核」的一些思考

来这个公司实习已经半年多了,在年前经历了一次年终考核,最终对我的工作的评级是 C(及格-符合当前职位的工作),让我不禁思考自己在项目中的一些工作的问题,为什么我是C?是我做的不够好吗?或者说在哪里做的不够好? 从考核流程来看,基本上是 CTO 与 Team Leader 对团队成员的「年终总结与次年工作计划」进行Rank,个人狭义的认为「考核」的主要支持材料就是这个总结了. 他山之石 其他公司是怎么考核的呢?说实话我也不太清楚,刚入行,只能通过搜索了解,在网上了解到有以下几种:发精品博客.发论文

「标准」的 JS风格

「标准」的 JS风格 2016-10-31 10:09 by 聂微东, 2099 阅读, 21 评论, 收藏, 编辑 首先,这份 JS风格指南已经在我司的前端团队实行半年多了: 其次,在程序员的世界里,从入行到资深都需要面对几个世界级的难题,如: 世界上最好的编辑器是什么? 是用空格还是 TAB?用空格还特么衍生出 2空格 VS 4空格. JS到底要不要写分号? ... 最后,PHP是世界上最好的语言. 一.规范VS自由 对程序员的每个个体来说,有代码规范其实不一定是好事,因为肯定会影响到写码的

听说「学生会」水很深,你准备「趟」么?

都说,大学是个小社会,只有经历过大学,才能学会「成长」. 不少人感慨,真正进入大学之后,才发现,这是和想象中,截然不同的两个世界.大学绝非旁人口中的「象牙塔」,没有多得压死人的作业,可以无拘无束,想做什么就做什么. 在这里,成绩虽不再是评判高低的「唯一标准」,但在此基础上增添的人际交往.实践经验「考核」,往往让我们的大学生活,压力倍增. 学生会,作为大学校园的「缩影」,一个一向被定义为:积累经验和人脉,教会你成长的绝佳地方,每年都备受新生们的推崇.挤破脑袋,各种交报名表,想要争取在学生会的一席之