抖音Android面经,成功斩获offer-阿里云开发者社区

开发者社区> Android进阶开发> 正文

抖音Android面经,成功斩获offer

简介: 抖音,面试,学习资料分享
+关注继续查看

一面:
1.activity和service怎么通信

2.因为扯到了跨进程通信,就让我说一下安卓上有什么跨进程的通信方式

3.说到了管道,让我说一下在Android的时候会用到管道吗

4.Java两个整型相加怎么知道有没有溢出

5.Java怎么停止线程

6.假如有4个线程同步开始,其中第4个线程要等前面三个线程执行完进行些统计操作,要怎么操作呢。

7.如果不通过使用Java的并发包的现成类库来实现一个CountDownLatch,怎么实现?

8.那么使用你这个CountDownLatch的这3+1个线程,一共需要几个锁呢?

9.知道大顶堆和小顶堆吗,一个数组建堆,时间复杂度是多少呢?

10.在堆中找指定的一个元素复杂度是多少?

11.看你简历上也有写网络方面的知识,https的过程说一下

二面:
1.Unicode和ASCII的区别

2.Unicode有哪些种类?Java是哪种?

3.json这种格式知道吗,是怎样的,有什么用?

4.序列化除了json还有什么可以使用?

5.说说Android上的序列化?

6.Java的serializable有个Id,你知道是有啥用的吗?

7.深拷贝浅拷贝说说?

8.Object的hashcode()用来干嘛,怎么自己实现hashcode?

9.JNI讲讲?

10.一个a包里的B类的c方法,cpp代码中的方法一定要a_B_c()这样吗

11.Java的泛型讲讲,有啥用?咋实现的

12.在什么情况下可以在运行时获取泛型参数

13.上界通配符和下界通配符讲讲

14.两个方法,一个方法的参数是泛型的,一个参数是正常的类(如String),会怎么样?

15.输入网址到返回ip的过程

16.假设你你缓存的ip地址过时了,怎么办

17.你认为DNS机制是怎么解决这个问题的,你可以尝试参考http的缓存机制想想

18.广播有几种,有序和粘性讲讲

19.注册广播的方式,你觉得静态注册广播这个是什么时候执行的呢

20.本地广播

21.线程进程区别

22.讲到内存资源,线程有什么数据是私有的

23.算法:二叉树的右视图

24.算法:两个栈实现队列

25.讲讲工作项目遇到的问题

26.有什么想问我的:

三面:

  1. 自我介绍
  2. 内核态用户态的区别
  3. 用户态可以访问内核态的内存吗,你说的一些有风险的指令,具体是怎么阻止用户态程序去执行有风险的指令的
  4. 既然用户态不可以访问内核态的内存,那么在做一些比如网络连接的操作的时候肯定需要内核态内存,用户态程序怎么做到使用内核态内存的
  5. 说到跨进程通信方式,你知道有什么跨进程通信方式吗?
  6. 你说到的共享内存,管道,消息队列,binder他们之间有什么区别吗?
  7. 你说到广播、内容提供器也有使用binder与AMS通信,那他们与binder之间有什么区别吗(广播、内容提供器的实质是不是就是binder)?
  8. 为什么要写这样一个测速的程序?
  9. 两个Activity,一个显示商品列表,一个实现商品详情页,在商品详情页点了关注之后,怎么使得返回商品列表之后也更新了关注状态呢?
  10. 你说的发布订阅模式,你知道有什么框架使用了这个设计模式吗?
  11. 假如两个Activity数据量比较大呢,要更新相当多的东西呢?
  12. 你把model设置为单例的话,那这个列表不断下滑,加载更多内容,最后导致占用相当多的内存怎么办?liveData、ViewModel你可以了解下
  13. 算法题:"www.toutiao.cn"转成"cn.toutiao.www"
  14. 有什么想问我的?(在头条工作的体验?这个你可以问hr)

四面:

  1. 你是哪里人?为什么选择投上海的岗位?除了上海,还有什么意向的城市吗?为什么不喜欢北京?上海也是这样啊?
  2. 问专业。与程序相关的课程有多少?有学计算机组成原理、计算机网络吗?
  3. 除了看书以外学习途径?你在安卓的群上一般讨论什么东西?印象深刻的是什么?
  4. 你这个在wifi的部门不是专门做安卓的吧?有没有安卓方面导师?都是靠你自己摸索的吗?项目有几个人在负责,都是你在负责吗?
  5. 因为什么而接触安卓?你在这个团队里负责什么角色?贡献了多少代码比如有多少页面是你写的?
  6. 有没有什么社团之类的让你接触安卓?
  7. 有什么想问我的?(问了对应届生的期望)

HR面:

  1. 你认为你前面的面试表现怎么样?
  2. 你是女生为什么要来上海这么远工作?
  3. 你觉得抖音(还是字节跳动来着)怎么样?
  4. 你提到技术驱动型,你认为怎么样才是技术驱动型公司?
  5. 你提到你是抖音的用户,但是使用频率不高,是因为什么,因为抖音的内容质量不好吗?
  6. 你提到抖音是音视频相关,你对音视频开发是比较感兴趣吗?
  7. 之前工作中有没有遇到什么较大的问题?这个问题是什么原因有没有探究?
  8. 工作期间有没有遇到什么比较大的挫折?
  9. 你之前有投过百度没有通过,是因为没有准备好吗?
  10. 如果通过了面试,你什么时候可以过来上班?

总结:上海抖音经历4面技术面+ hr面。10.25发的意向书

最后感谢一下腾讯课堂总结的面试专题资料,让我顺利获得了抖音面试的offer。知识共享、快乐传递,下面我也将这份面试学习资料分享传递下去,希望有缘人在面试求职道路上顺利赢取心仪的offer

点击下方链接:
Android高级进阶视频、面试真题解析免费分享

Android高级架构进阶课程视频+面试题视频解析
Android_

2019Android面试专题汇总(含答案解析)
2019Android面试专题汇总

设计模式专题
_

数据结构算法专题
_

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6904 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4478 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7751 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9424 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
1130 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
16816 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3227 0
+关注
Android进阶开发
从事Android开发6年,是一名为自己而活的码农!
122
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载