安卓面经:百度腾讯滴滴美团头条网易搜狐华为链家小米拼多多

秋招面试了一些公司,现在把面经和面试体验发一下,大佬们共同学习。
由于水平比较差,所以才获得几个offer(小公司无算):百度,美团,小米,华为,链家,百度外卖(后期获得头条,拼多多Offer)
职位都是:android客户端开发
最后有一个链接,是准备秋招的知识汇总,数据结构,计算机网络啥的基本上都有了。嗯,自己整理和分类的,还请尊重个人产出。

829 小米一面 1小时20分钟)


  1. 讲一个你印象比较深刻的项目
  2. 讲一下Volley框架的实现机制
  3. BLE蓝牙的使用流程
  4. 设计模式你说下
  5. binder机制应用层面上说下
  6. View事件分发机制说下
  7. android性能优化说下(布局优化、内存泄露、bitmap压缩等等..
  8. eventBus框架是干什么用的,实现机制?
  9. ANRcrash遇到过么?怎样解决
  10. 编写代码(给一个网址,编写代码)

输入一个n*n的正方形矩阵a,要求填充逻辑代码,将矩阵a顺时针旋转90


830 小米二面(1小时20分钟)

  1. 自我介绍
  2. 你做的这几个项目挑出一个来讲一下
  3. 步态分析器这个项目的话,你感觉核心实现是什么?
  4. 讲一下蓝牙有几种方式,你用的BLE的蓝牙流程说下
  5. 假如说你的app现在使用了一个A的第三方库,那么为了以后可以容易换成B的第三方库,你会怎样去做减少后面的修改难度?
  6. android的多线程你知道多少?介绍下
  7. asyncTask的内存泄露你知道么?
  8. 给一个网页,手撕代码

题目:一个字符串,开始可能有0-N个空格,然后在这个串中每个单词之间有1-N个空格,最后的结束也有N个空格,现在要求最后的输出结果是开始不能有空格,每个单词之间只能有一个空格,最后全部是空格的格式

一、先实现,无要求

二、空间复杂度要求为O(1),再优化


920 武汉现场面三面 40分钟

  1. 自我介绍
  2. 讲一个你熟悉的项目
  3. 手写代码:一个数组中的数字,有大有小,如何用最少的+1或者-1的操作消除数组中的数字差异过大的情况,返回你的操作次数
  4. intentService了解么?说一下他的用处和原理
  5. intentServiceservice的区别
  6. intentService现在要求让他的任务可以并行执行,你会怎样去实现
  7. asyncTask说下主要的方法
  8. activity销毁之后,那么asyncTask如果还在执行,那么会造成什么问题
  9. activity的旋转屏幕的生命周期变化
  10. 手写代码:一个单链表,每三个节点反转一次
  11. 你有什么想问我的么?



面试体验:

小米每次面试基本上必备的就是手撕算法,so,一定要做好点准备,难度都一般,不是难的那种。另外从android的技术上来说,从我的面试经历来说都是一点即过,面试官没有多少深入的挖掘知识点。面试官都很nice,有些算法上卡着了,会一步一步的引导你。赞一个


925 今日头条 1 30分钟

  1. 自我介绍
  2. 两个有序数组,求这两个有序数组中最大的K个数(要求时间复杂度空间复杂度较低)
  3. 对于栈这个数据结构,实现以下几个方法:pushpopmax(要求空间复杂度较低)


今日头条 2 1小时

  1. 自我介绍
  2. android事件分发机制说下
  3. touchSloptouchDelegate的理解
  4. viewStubmergeinclude的理解
  5. java引用级别
  6. 用过什么第三方库?(用过eventBusVolley。知道RxAndroidokHttp等。。写过demo
  7. 用过什么编译器
  8. 内存泄露原因(从JVM开始和他说起)
  9. gcRoot有哪些?
  10. 如何检测内存泄露,有什么方式
  11. 算法:一个有序数组,寻找k值出现的第一个位置(针对算法要求最优)
  12. 算法:每个人都有工作时间区间,现在有N个人,他们每个人分别有K个工作区间。现在要找到一个大家都空闲的时间段进行开会,那么如何来找到这些空闲时间段?讲出思路和时间复杂度,空间复杂度


面试体验:


武汉现场面,一面不是android开发面试官,应该是java的,所以就问了算法了。每个算法不是很难,但是会让你写最优,只有思路不行,必须要完整写出来。二面是android面试官,嗯,总的情况的话答下来有80%左右吧。前面都还好,最后我问他问题的时候我问他对我评价如何,然后他说我对技术不热情,问我是不是跨专业?我一脸懵逼,,理由如下:你知道目前的新框架为什么还在项目中用旧的框架?你项目中还有用到eclipse的,为什么不用androidstudio?然后我给他说:我选择框架只选择针对我这个项目合适的框架,并且框架原理相同,我知道了一个原理了其他的也就是一样的了。并且我平时也用过新框架自己搞demo;第二:我进入实验室的时候就是eclipse的项目,我是接锅的。后面的我自己搞得项目就用androidstudio了,平时demo我也是用androidstudio了,有问题么?拿着我的简历然后问我是不是跨专业?呵呵哒,算您会挖苦人。。直接告诉他,今天就到这吧,面不起我还可以躲得起。。


2017824 手机百度电话一面 34分钟


  1. 二叉树的非递归实现(前序、中序、后序)
  2. 给一个N*N的矩阵,找出2*2矩阵的和的最大值,时间复杂度?最优?
  3. android蓝牙连接(传统蓝牙,BLE蓝牙),如何连接?
  4. JVM内存分区(每部分异常会报什么错误?)
  5. JVM垃圾回收算法(详细介绍)
  6. JVM垃圾回收器(详细介绍)
  7. https连接过程,握手过程
  8. 对称加密,非对称加密
  9. 三次握手过程
  10. android消息机制
  11. android事件分发机制


2017829 百度二面(一小时50分钟)


  1. 讲一下你做的这些项目里面哪个印象最深刻
  2. 你负责的这些部分讲几个你认为比较重要的点
  3. Volley框架机制说下,你能抽取出(学到)几个技术点?
  4. android性能优化说下
  5. binder实现机制
  6. AIDL文件的用处,aidl生成的类有什么用?讲下这个类做的事情和原理
  7. 进程之间是相互隔离的,那么从A进程到B进程使用binder进行通讯,那么猜想下到底是怎样做的呢?
  8. View的消息机制你说下,对于ViewGroupView有什么不一样?
  9. 事件拦截的话,可不可以从子View来进行操作?具体思路说下
  10. 考虑一种场景:listView加上一个header实现下拉刷新的功能,你要怎样去实现?说说思路
  11. 如果这样的场景下:listViewheader属于不同的view,相互为兄弟View,外部套一个大的viewGroup,如何进行事件分发?从初始态到用户拉下出现header的过程来依次分析
  12. 如果是这样的场景:listViewheader属于同一个view层,那么下拉刷新又该如何实现?事件拦截又该如何去做?
  13. 发过来一个网址,手写代码

根据他提的需求,写代码(主要就是设计模式的使用原则和设计模式的使用):基本上涉及的知识点:策略模式,工厂方法模式。之后根据不同的新需求如何尽可能少的修改原来代码来实现新功能。

  1. 对上一步中的抽象类和接口说下优缺点?
  2. 为什么java是要求是只能单一继承?却可以实现多个接口?说下你的见解
  3. 抽象类属性中什么场景下是优点?什么场景下优点又变成了缺点?
  4. 使用接口什么场景下是优点?什么场景下优点又变成了缺点?


权利翻转:你有什么需要问的么?......



百度三面(50分钟)

  1. 自我介绍
  2. 能不能立即过来实习?
  3. 网络分层?7层,5层,4层,具体说下每层干啥
  4. ip是哪一层协议?
  5. postget的区别,get有长度限制么?
  6. 为什么要使用ip协议?直接使用mac地址连接不可以么?
  7. 全球这么多厂商,生产的设备如果有重复的mac地址,你如何解决这个问题?网络数据包传输会有什么问题
  8. 你是网络管理员,从英国的一台电脑要打开中国的一个网页,现在就是连接不上(dns正常可以解析到正确IP),你能考虑到哪些问题?
  9. 你是衡水的手机号,现在你在湖北,那么北京的手机号打你的手机为什么你可以接到电话?

接着问,你数据结构知道吧?

  1. 快排时间复杂度是多少?最差?平均?为什么时间复杂度是O(N*logN)?怎样推导出来的?
  2. 你对app推送有什么了解?如果是你来实现的话,你能怎么做?
  3. 中国有13亿人,对全国身份证号进行排序,你会怎样去做
  4. 你上级让你去安排一个日子来举办活动,要求这一天一定不能是周六或者周日,一定要在周一到周五之间,你如何判断一年里面有哪些日子是合适的?
  5. 你有什么想问我的?


面试感受:1面基本上完美,很舒服。2面面试官很有深度,并且人超棒,会引导你去如何解决。3面是经理面。我说错了一句话,嗯,导致失败了吧,其实三面总的来说打得也算是马马虎虎到70%,一句话失误导致最后失败了吧。。。郁闷了好多天,,,


201774 华为优招


一面:

上来是做自我介绍,之后开始问项目,讲项目中的认为的难点,印象深刻的地方。

即时通讯IMBLE蓝牙连接

针对简历继续问

android消息机制 view分发机制 android性能优化 binder机制 设计模式(包含设计原则)

android相关

广播的静态注册与动态注册 广播的有序与无序 service的如何保持不被杀死 内存泄露(handler ...


java

== equals区别 stringBufferstringBuilder区别 hashmap的原理

网络

postget区别 httphttps区别 网络错误码


二面

聊人生。。。


831 拼多多 一面(30分钟)

  1. 做自我介绍
  2. android布局说下
  3. android四大组件说下
  4. activityactivity传输数据怎么做
  5. 使用intent传输数据对数据有什么要求
  6. serviceactivity的区别说下
  7. ANR了解么?如何解决?
  8. 给你一个数组,里面都是long类型数据,有重复数字有空格,要求去重,空间复杂度O(1)。说下思路
  9. 跨进程通讯你说说看有哪些
  10. binder机制说说你知道的
  11. 常用的排序算法说下
  12. 自定义View实现,应该注意什么
  13. View的生命周期如果activity被重建,那么view的生命周期怎样变化
  14. activity横竖屏切换,对应的view的生命周期
  15. activity横竖屏切换,activity的生命周期
  16. activity横竖屏切换,activity一定会调用onDestory方法么?
  17. 通过在清单文件中进行设置不让他进行横竖屏切换的话,activity是如何知道进行了横竖屏切换
  18. 有什么想问我的?



94 二面

  1. lambda编程知道么?
  2. afinal框架?呵呵哒
  3. volley中对cookie的处理?呵呵哒
  4. GC回收算法
  5. http报文 cookie
  6. GC roots有哪些
  7. GC roots 遍历递归
  8. 同步,异步函数函数修饰符修饰符?future
  9. 81号题目:任务调度器


面试体验:

拼多多一面远程电话面试,基本上都是基础中的基础,没有什么压力。所以很简单的进入了提前批武汉现场技术终面。技术终面那天先面试的HRHRnice。对于技术终面面试官来说,面试体验到巨差:据说是数据挖掘和客户端的leader,然后我面试客户端方向,我做自我介绍的时候说道14年实习的项目,然后他问我14年用的框架源码?14年的框架早就淘汰了好么?我说我可以讲下现在我项目中的网络库volley的实现机制,然后他没搭理我,问我volley这个库他是如何处理cookie的?我勒个去,有没有搞错?volley没有对cookie进行过处理好吧?源码都看过做过解析的,然后他不信。。之后拿出我8月一的题目让我做,任务调度的那个题目,一共是三问,面试官问我有没有问题,我在他的提醒下改了前两个题目,第三个题目还没有改就说今天到这结束了,好吧,那就结束吧,我也想结束。。


2017828


网易一面:40分钟

自我介绍……

1 项目挨个问了下(准备充分,无压力)

2. volley框架说下

3. 手写一个生产者消费者

4.手写fragment生命周期和activity生命周期,并把生命周期一一对应上。

5. 热修复说下,几种方式?各自原理?

6. 插件化了解么?说下,基本原理知道么?

7 混合开发了解么?

8.A应用如何打开B应用的界面?

9. 安卓性能优化有哪些?

10.recycleView说下

11. activityfragment交互,如何互传数据

12. binder说下

13 activityManagerService知道么?说下

  1. android中的广播说下,粘性广播知道么


网易二面:基本没问项目,完全面试官自由发挥。40分钟

无自我介绍,直接开怼。

  1. popupwindow中是否可以再创建popupwindow?为什么?
  2. dialog中是否可以创建子window?为什么?
  3. dialog创建为什么传入activitycontext而不是applicationContext
  4. fragementactivity交互方式
  5. fragment可不可以在构造函数传递参数?使用setArgument的原理?
  6. 两个应用程序ABA要用B的登录信息,怎么做?
  7. contentprovider是如何保证操作数据库原子性?
  8. 加载进来的class类是否可以动态修改?
  9. 热修复原理有哪些?说下
  10. binder是在jni层怎样实现的(一次拷贝)?
  11. client使用serviceManager可以找到对应的service,那么自己写的service的话,client是怎样找到的这个service
  12. 安卓性能优化你知道有哪些?
  13. 一个后台任务栈,从上到下 A B C三个activity,内存不足回收。那么从后台到前台打开是哪个界面?为什么,原理?
  14. 子线程是否可以更新UI?那为什么安卓要求不能在子线程更新UI


结束,几分钟以后问hr小姐姐:很遗憾……


面试体验:

一面面试官很nice,基本上问的问题也都答上来了。也乐于听你说的话。二面面试官上来没让自我介绍,拿一个笔开始划你的简历,但是基本上也没有问过简历上的项目。问的问题有些很刁钻也很深入。如果在开发过程中没有真的去搞懂一些api的话,会很吃亏。感觉面试官技术有深度,对于一些项目api中的细节有比较深的认识。有些自负,问问题都声音小的很。最后都不让问问题。很nb的样子


916 链家

1 40分钟

  1. 自我介绍
  2. android进程间通讯机制
  3. binder详细讲解
  4. 性能优化—-日常开发方向
  5. 启动优化虚拟机android5.0之前,android5.0之后、
  6. 另类优化:插件化
  7. 插件化注意要点
  8. 手写代码:View类的遍历打印子view
  9. java中同步锁有几种
  10. 单例模式有几种,写其中一种
  11. 对称加密和非对称加密
  12. https
  13. 代码执行过程(编辑-编译链接运行)
  14. java角度来分析上述过程
  15. 动态链接和静态链接的区别
  16. 物理地址和虚拟地址的区别


2 30分钟

  1. 现在有一个不稳定的网络,需要传输数据,如果保证数据包的准确性?
    1. 先讲下TCP是如何做的
    2. 让自己去实现的话,你会去怎么做?
    3. 超时重传缺点有哪些?(效率低下,重复收包,去重)
  2. http的请求报文结构,响应报文结构
  3. 现在有一个服务器已经启动,然后在客户端这边不使用http协议,仅能使用运输层以及之下的网络协议的情况下,写代码模拟一个类似http协议连接的过程以确保与服务器能ping通(核心:http请求头)


3 HR 15分钟

  1. 自我介绍
  2. 了解安装过链家的app么?
  3. 你看下ios版本的链家app,说出你的看法
  4. 能否来实习
  5. ……


面试体验:

链家一面是一个超级超级漂亮的美眉~有些像贾静雯。我一开始以为是hr,,,哈哈,后来上来第一个问题是问我进程间通讯机制,其实当时我脑子里想的是hr问的一些问题,有点脑子转不过来。二面是一个不是搞android的面试官,人挺好,问了些网络的事情,我的知识点都知道,但是一直没怎么能get到他的点子上..三面hr是一个男的,恩,第一次遇到男HR,聊得还好~总体来说,链家面试流程和面试官都很nice


919 上午11 百度测试开发一面 1小时


1. 自我介绍

2. 讲一个你最熟悉的项目。

3. 画一下你的项目流程图

4. 代码实现:给两个链表,找到两个链表的最长公共子串,输出子串和子串长度。

5. 针对你项目中的要素如果你去做测试的话,你怎么去做

6. 测试你了解些什么

7. 你在项目中都做了些什么测试?

8. 如果你去做你项目的测试,你会怎样做

9.你有什么想问的



下午2 测试开发二面 百度 1小时

1.自我介绍

2. 手撕代码:给一个单链表,要求随机输出一个节点。要求时间复杂度和空间复杂度足够低。

3. 对上面更高的要求:只允许遍历一次。而且要保证各个节点被选中的概率相同

4. 讲一个你最熟悉的项目

5. 用你知道的知识如果做测试的话,你会考虑些什么

6. 对你项目中的几个要点,如果做自动化测试针对每个要点你该如何去做?

7. 如果你的app蓝牙数据显示异常,你会从什么角度考虑?尽可能全面。

8. 你有什么想问的


下午4 百度测开 三面 1小时

1. 自我介绍

2. 说一下你印象最深的项目

3. 你使用的这种BLE蓝牙有什么好处

4. 一个3升水的桶,一个5升的,如何找到4升的水

5.一个矿泉水瓶,你感觉她有什么用处。

6 .你如何评价你本科还有研究生的学习生活

7. 你感觉研究生生活的话,你的亮点在哪里

8. 你对你的自我评价说下

9. 现在有几个offer,你会选择哪一个?为什么?

10.你有什么想问的。


面试体验:

面试官都比较nice,很会引导人。问题有深度,会挖掘你的测试意识和潜力。就是面试过程有点折腾。。我一面面完了之后从酒店出来坐车回学校,结果马上就要到学校了,电话通知我马上回去二面,,无奈。右打的赶过去,结果规定的时间面试我到了,但是面试官房间里面已经有了一个面试是神马情况?仔细一听原来是霸面的,,好吧。。等了20分钟开始我的二面。二面结束,面试官说可以走了。我就离开酒店坐上了地铁,然后地铁刚开的那一刻收到了二面面试官电话,让我回去接着三面,,得令,,又到了下一站坐回来进行三面。。


920 美团点评 1 40分钟

  1. 自我介绍
  2. 手写代码:View树遍历(有viewGroupview,打印所有的view还有他们对应的层级)
  3. 在列表里,如何实现多种不同的布局?有哪些方法
  4. java语言中的现在的一些新特性你知道有哪些
  5. java反射和注解你知道么?讲下
  6. EventBus的原理说下
  7. 现在有一个书签,书签有三种类型,现在你需要提供一个功能类,针对于不同的需求进行不同的书签选择,你会如何去实现?
  8. 网盘中有 10 个文件,现在用户可以任意拖动这些文件,改变它们的排序,怎么设计上传的接口,使用什么样的数据结构进行存储
  9. 你在开发中使用的是哪种结构框架?有几种结构框架,介绍下
  10. 平常是如何学习的?
  11. 你有什么想问的么?



2 40分钟


  1. 自我介绍
  2. 你认为什么样的代码是最好的?你会注意些什么?
  3. 手写代码

判断一个字符串是否为一个合格的密码,一个合格的密码需要满足如下条件:

1. 长度必须大于 6

2. 首字母必须为大写字母

3. 只能包含 'a ~ z' 'A ~ Z' '_''0~9'

4. 至少有两种不同类型的字符

  1. github账号有么?
  2. 使用什么编译器进行开发?gradle了解么?关于他的配置文件你简单介绍下
  3. 设计模式你在日常开发过程中用到过什么?有没有特别印象深刻的设计模式
  4. 手写代码:有一个类似于exel的列命名规则的字符串,现在给你这样的一个字符串,需要你给出这个串后面的串是什么?
  5. 你看过哪些源码?你在里面学到了什么?
  6. 当时为什么选择volley这个http库?
  7. 你在项目中开发的话,有什么很难解决的bug吗?你是怎样解决的
  8. 平时你是怎么学习的?
  9. 你有什么想问我的?


3 40分钟

  1. 自我介绍
  2. 你所在的实验室叫什么名字?
  3. 你在实验室的话,没有让你出去实习,那么平时你是怎样学习进步的
  4. 你们现在研究生毕业不考虑到高校任职?现在一流大学去当老师都是什么要求
  5. 本科和研究生对比的话,你感觉你的成长或者感悟在哪里
  6. 本科同学的毕业去向
  7. 玩游戏么?王者荣耀什么级别?现在不玩了等级不下降?
  8. 现在有几家offer
  9. 百度的测开岗位你有什么看法,你对这个岗位满意么
  10. concurrent包下的一些类有了解么?
  11. 画一下concurrentHashMap的结构和hashMap的结构
  12. 对于concurrentHashMap来说的话,同时两个线程的put操作会有什么影响?
  13. 对于concurrentHashMap来说的话,同时两个线程的putget操作会有什么影响?
  14. 你在项目中用过这些类么?为什么知道他们?
  15. 读写锁你知道么?说下
  16. 你有什么想问我的


4 HR 30分钟

  1. 自我介绍
  2. …..


面试体验:

问的一些问题还是挺开放的,注重你的思路。一些题目还是有些深度。但是大部分还是可以轻松搞定。本来因为一些原因晚去了面试,但是还有面试机会,谢谢帮助过我的那个萌妹纸~~

一下午一口气面到三面,爽快~三面经理面也是一个爽快人~哈哈,要不是太晚了就直接面试hr了,无奈,只能第二天面试hr了。。最后走的时候三个面试官和我说再见,挺温馨~


921 腾讯一面 30分钟

  1. 自我介绍
  2. 你的工作经历太适合我们这个岗位,你还是想从事android开发么?——(应届生无所谓,知识面要广,需要多接触东西,不抗拒新技术,新方向)
  3. 我们是做前端游戏的,如果你要是还是坚持android开发,我可以考虑给你换面试官,问我的看法-(我还是想尝试下目前这个岗位,如果感觉我合适的话,我希望接着进行面试,如果感觉不可以,那就麻烦给我换岗吧)
  4. 你做java多长时间了,学习android开发多长时间了?
  5. 一个应用程序,你在开发的过程中会怎样去实现代码架构和项目结构上的安排?
  6. 你平时是怎样学习android的?
  7. 技术方面看过一些什么书籍呢?
  8. 你感觉做程序开发,以你的经验看来,你认为开发过程中有什么感悟或者认知?
  9. 学习过其他语言么?(没有,但是我对我的学习能力是有信心的。语言只是一种工具,我不认为他是我的一种负担)
  10. 你的代码编写风格是怎样的?
  11. 用过什么设计模式?
  12. 你说的这些设计模式中,就单例模式而言,你感觉他为什么会有这样的设计模式?有什么优点和缺点?
  13. builder设计模式你感觉他解决了什么问题?
  14. 你如何看待你的职业规划
  15. 你有什么想问我的么?
    1. 面试官怎样看待非对口方向的应届生求职?
    2. 假如入职之后,公司是否会给安排业务上的老员工进行帮扶?
    3. 面试官对我的评价?



923 腾讯二面 25分钟

  1. 自我介绍
  2. android多长时间了?
  3. 你对android平时的学习是怎样进行的
  4. 你项目中的某某点用的是什么技术
  5. 你们导师下面有多少学生?
  6. 平时你学习的话都看些什么书
  7. 你入职之后有什么学习计划?
  8. 你有什么优缺点?
  9. 你感觉你和其他同学们比起来你有什么优势?有什么缺点?
  10. 你有什么想问的么?


面试体验:

好吧,聊天到了二面,确实是该挂人的时候了,该说再见了。应该是招够人了,所以走走过场。恩,还不错吧,至少没有遇到过其他同学面试官上来怼人的情况。面试官还是挺好的,面试体验蛮好~再见腾讯~


百度外卖 920 一面 40分钟

  1. 自我介绍
  2. 手写二分查找
  3. 数据库的事务属性
  4. 数据库的事务隔离级别
  5. 数据库事务的隔离级别不同会导致什么问题
  6. 现在设计一个抢红包的功能,如何保证多用户下的钱数的准确发放(手写代码:消费者模型)
  7. 红包钱数是从数据库中获取的,那么有好多红包,你如何来保证数据库的并发性能?(我是做android的,你逗我?表示不会)
  8. 手写二叉树深度遍历算法(深度?我写了一个前序)
  9. 给你一个函数,这个函数是能得出1-5之间的随机数的,概率相同。现在求1-7之间随机函数,你如何做
  10. 有什么想问我的?


923 二面 30分钟

  1. 自我介绍
  2. activity生命周期(正常和异常情况下)
  3. 讲一下你知道的service
  4. handler消息机制
  5. android数据存储有几种方式,并分别介绍
  6. 内存泄露如何解决和检测
  7. 数据库锁知道么?(又想往java后台方面搞...
  8. 给一个数组,求数组的字串的最大值


923 三面 40分钟

  1. 自我介绍
  2. android应用用着很卡,你分析下原因(启动和运行时,分开去说)
  3. 说下你知道的android性能优化方法
  4. android发生了ANR,如何避免和预防
  5. 内存泄露有哪些?问题如何解决的
  6. 手写代码:单链表翻转
  7. 手写代码:二叉树层次遍历
  8. 手写代码:单例模式DCL
  9. DCL单例模式中为什么instance要使用volatile
  10. 你平时是如何学习的,android新技术你知道些什么
  11. 你有什么想问的


面试体验:

百度外卖在武汉地区面试,没有碰到android客户端的面试官,都是java面试官客串的(至少我三次面都不是做android的,题目都是从电脑题库中抽出来的,没有什么深度)。不过面试官都很nice~


913 滴滴一面 1小时(愉快的氛围中GG

  1. 设计模式说几种
  2. intInteger区别
  3. int类型范围推导
  4. synchronized的原理
  5. synchronized场景题目(修饰非静态方法,修饰静态方法,修饰变量)
  6. static的你对他知道的所有东西说下(JVM类加载,子类父类调用顺序,静态变量,静态方法,静态内部类,静态代码块和非静态代码块)
  7. 为什么非静态内部类有时候会造成内存泄露?
  8. 子类继承父类,父类中有static类型的方法,子类实现同样的方法可不可以(加上static,不加上static
  9. 计算两个double数字的差值,你有什么想法,写出方法代码出来。
  10. SQL语句,,,各种SQL语句。。。恩,好吧,android表示很少用到sql...然后很差,,
  11. ANR你知道有什么
  12. 插件化容器化


之后开始聊天,聊人生,,,面试官人挺好,说一开始做后台,后来做ios,现在接触android几个月。恩,好吧,果然这么多sql语句不是凭空出来的,哈哈....就挂在了sql上,和滴滴说再见


98 搜狐 40分钟

  1. 面试官很Nice,让我坐下,然后看我简历,期间让我做自我介绍
  2. 完了之后问我哪个项目印象最深
  3. 我和他说了下自己完全做的项目中的BLE蓝牙连接,说了下过程
  4. 问我传统的蓝牙连接和BLE蓝牙连接有什么不一样的地方,我说了下使用方式上的不同,他说更底层的呢?蓝牙协议知道么?答:不知道。我和他说了下之前用的传统的蓝牙,频率高了耗电特别快。用了BLE的好多了... 我说那就是蓝牙模块的设计问题了,涉及到线路板的c或者c++编程烧板子的过程。他说好吧
  5. activity的启动方式的场景问题,很easy
  6. listViewRecycleView有什么不一样的?很详细的说了下,easy...
  7. gridView的父类是谁?我答不清楚,我说我感觉应该直接父类是view,根父类是Object
  8. http请求过程说下,我从域名解析说到tcp握手,包括流量控制,拥塞控制 easy..
  9. https为什么是安全的?easy..对称加密和非对称加密
  10. http有几个方法?postgetheaddelete...等等 easy
  11. http的请求报文段结构,每部分做什么用的 easy
  12. http状态码 301 302 304 303 504 easy
  13. 发送一个20M的图片,你怎么做? 这个答得不好只说了文件转变为字节流用post传输..
  14. 说下postget区别 easy
  15. 处理图片的方式说下 easy 三级缓存 ,内存LRUCache的实现原理等等...easy
  16. 使用线程池加载很多图片,你会怎么做,并写出完整代码。恩,这个问题,思路很详细的说了下,他认可,然后让我写代码实现,哎,最近一直在刷算法,之前看过的asyncTask有些忘记了。只写到一半,直接和面试官说搞不定了。
  17. 算法:给你一个数组,找到这个数组出现次数最多的那个值出现的次数。我问他给不给辅助空间,他说你随便,完整写下来就好。好吧,我就用了hashMap完成了。时间复杂度O(n),空间复杂度O(n)。问我能不能改进,我说如果还让我用点辅助空间的话,给我一个256的数组就好,他让我说思路?(恩?难道面试官刷题还没我刷的6?哈哈),说了下,他认可。。之后我还等着问还有没有更优化的,结果他说好就这样吧,还有没有问我的?
  18. 从面试官的角度来说,感觉我技术方面有什么欠缺? 他说你项目掌握的还不够深入,原理的东西搞明白(是说蓝牙底层协议?,,,哎,好吧,认了);然后说了句你面经刷的可以我无言以对....



最后有一个链接,是准备秋招的知识汇总,数据结构,计算机网络啥的基本上都有了。嗯,自己整理和分类的,还请尊重个人产出。
#腾讯##百度##小米##搜狐##网易##美团##安卓工程师#
全部评论
哪位好心人可以分享一下最后链接(没C币无法下载)里的资源,感激不尽.邮箱:huainian361@hotmail.com
1 回复 分享
发布于 2018-10-10 16:44
大佬
点赞 回复 分享
发布于 2017-10-18 23:05
真的强👍
点赞 回复 分享
发布于 2017-10-18 23:23
研究生大佬
点赞 回复 分享
发布于 2017-10-18 23:45
大佬辛苦了
点赞 回复 分享
发布于 2017-10-19 00:05
赞,最后的资料也棒
点赞 回复 分享
发布于 2017-10-19 02:06
大佬666
点赞 回复 分享
发布于 2017-10-19 09:36
超认真的huster
点赞 回复 分享
发布于 2017-10-19 19:07
大佬是走的校招吗?想问下为什么你百度面了那么多,不冲突吗?
点赞 回复 分享
发布于 2017-10-19 19:12
大佬求带啊,韵苑一栋发来贺电
点赞 回复 分享
发布于 2017-10-19 22:49
大佬
点赞 回复 分享
发布于 2018-03-12 18:31
很好的面试题。有个小疑惑,这是实习的还是应届的。。。
点赞 回复 分享
发布于 2018-03-13 21:33
牛皮
点赞 回复 分享
发布于 2018-03-13 22:54
毕业了4年的老鸟,回来膜拜一下大神。
点赞 回复 分享
发布于 2018-03-14 22:54

相关推荐

(项目)1.简历上第=项目的一个思路?背景?能应用什么场景?2.分几个模块?3.说一下登录鉴权用的什么技术?4.大模型这边api对接了哪些?5.用了敏感词过滤,这么做的?6.微信支付的流程能大概介绍一下吗?(场景)7.设计一个本地缓存,要考虑哪些方面?(缓存淘汰,并发冲突,缓存和数据库的一致性(这里说了一大堆))8.有一个场景,数据库里维护了一份规则数据,搞了本地缓存,部署了两天机器,有个管理后台,把数据库数据修改,怎么让两台机器缓存数据变成最新的?(1.给缓存加一个小的过期时间;2.订阅mysql的binlog日志,通过主动的方式给本地缓存做一个更新)引出一堆小问题...9.接触过消息队列吗,我有一个场景,不用那些重的第三方框架,,设计一个轻量级的mq,只要简单的消费订阅,怎么自己搞一个?(1.简单的队列2.两端做阻塞式收放3.引入主题,主题内部设计双端队列4.给队列里面的数据编号,消费成功提交偏移量)引出一堆小问题...10.比如说有100万数据,这些数据需要定时更新,失败就要重试,要尽快完成,怎么设计一个程序?(使用消息队列,把要更新的消息放到队列里,在消费端进行一个更新,比如说kafka它消费失败就会重试,默认十次,要是真的消费失败放到死信队列里,可能会存在消息堆积,....,尽快完成的话通过加分区和消费者,并且在进程内部使用线程池提高并发度)引出一堆小问题...(八股)11.tcp里面一次里面出现了connect reset,什么原因导致的?12.什么情况服务端会主动关闭连接?13.tcp在传输中会有拆包和分包的过程,说一说?(缓冲区,报文段大小限制)14.知道啥是长非管道吗???15.mysql的mvcc能说一说吗,解决什么问题?(保障隔离,mvcc在读取已提交和可重复读中的应用)16.索引有哪些啊?(讲了一堆)17.innodb默认什么索引(b+树)18.使用b+树有什么优势?19.mysql的表空洞???20.手撕(leetcode上的一道mid题)(聊天)21.日常在技术学习方面有什么技巧?22.做的项目是你自己找的吗?有没有调研和对标过外部相似的产品和功能?23.你这边岗位的意向城市在哪?24.实习的时间段呢?25.反问#美团##暑期实习##面经#
查看24道真题和解析
点赞 评论 收藏
分享
评论
19
165
分享
牛客网
牛客企业服务