15家Android大厂offer!看我2020面试经历!

27 阅读5分钟

9.数据库事务四个性质,一致性是什么

10.死锁是什么,怎么产生,如何避免

11.数组和链表的区别

12.二叉排序树是什么,查找的时间复杂度,怎么降低时间复杂度

13.项目有什么难点

二面(视频)

1.Dalvik和ART的区别

2.虚拟内存是什么

3.CPU32位和64位区别,Android CPU是多少位的

4.手机内部存储目录是什么样的,能不能访问其他应用的目录

5.网络五层架构

6.TCP和UDP的区别,应用场景

7.拥塞控制、流量控制的原理

8.HTTP能用UDP吗

9.HTTP的header有哪些字段,哪个是必须有的

10.HTTP状态码3开头、4开头各是什么意思

11.POST和GET的区别,POST的参数能不能放在url

12.浏览器输入网址到返回网页的全过程

13.进程和线程的区别

14.代码:输入参数x和y,求x的y次方,用尽可能小的复杂度,并分析时间复杂度

15.代码:二叉树遍历,任意写一种

16.1T大小的文件,内容是“用户名 背单词数”的列表,一个用户可能有多个记录,如何找出前十名

17.给一个数组,讲出快速排序第一次划分的过程

18.数据库事务是什么,有什么用

19.说下数据库的索引

20.手写SQL语句:分页,排序,多表连接

21.SQLite如何从版本1升级到100

22.char能不能存汉字

23.int a = new Integer(3)会不会报错

24.int可以表示的范围

25.float怎么存储的

26.catch中return了,finally还会不会执行

27.有几种创建进程的方法

28.有几种创建线程的方法

29.Java中实现线程互斥有哪些方法,synchronized怎么用

30.抛n个硬币,m个正面朝上的概率

31.如何不用额外空间交换两个数

32.给定一个三角形和一个点,判断点是否在三角形中

HR面(视频)

1.你是福建人,为什么想来成都

2.为什么选择自动化专业

3.是怎么想到从事Android的

4.父母是做什么的,同意你到外地工作吗

5.对公司文化了解多少,怎么了解的

6.暑假在脸萌实习感觉怎么样,喜欢吗

7.未来的职业规划

8.期望薪资

9.有没有其他offer,有没有还在面试的 

技术面没怎么问项目,考官也说对应届生还是更看重基础和潜力。HR面的时候其实已经稳了,就是沟通一些offer的情况,隔天就发来了offer。十分万幸赶上了秋招末班车,结束两个月的陪跑!在此感谢牛友们的面经分享和一路的陪伴!

字节跳动

从阿里实习回来后,投了字节跳动的秋招内推,因为一直听说头条的面试比较快,通过了就会有一下轮,所以想体验一下,投的是上海的研发岗位,下面是头条面试的面筋

一面

1.自我介绍

2.介绍SS助手项目

3.介绍下Retrofit框架,retrofit为什么要包装okhttp呢?

4.retrofit的常用配置有哪些?

5.android的序列化对象的两种方式?

6.序列化对象用在什么方面?(没回答全)

7.Android的handler的postdelayed原理?postdelayed设置定长时间等待,中间有又message来了怎么办?

8.Android为什么要让主线程绘制UI呢?

9.Android自定义view需要哪些步骤?要绘制一个正方形的view要怎么办?

10.Android的viewgroup的onlayout函数做了什么?(忘记了)

11.https的原理

12.http请求一定会到服务器上去吗?(http 304``/ 有***的情况不会)

13.负载均衡讲下理解

14.远程写代码:用数组实现双头栈

###二面

1.自我介绍

2.tcp的三次握手和四次挥手

3.tcp挥手的time_wait状态的设计目的是什么?如果没有,会出现什么情况?

4.tcp和udp的区别?

5.udp上实现一个可靠的协议要怎么做?

6.tcp的拥塞控制的作用是什么?为什么要实现拥塞控制?

7.java 的hashmap和hashtable的区别?

8.hashmap在多线程下会出现的问题?

9.concurrenthashmap的原理?为什么效率高?

10.android ipc 通信机制?

11.localsocket在什么情况下用比较合适?

12.为什么android要设计binder

13.java线程间同步有哪些?

14.sync关键字和lock的区别?

15.公平锁和非公平锁的区别?

16.voliate作用于 boolean``,Boolean的区别?

17.voliate int a++? 会被立刻看到吗?

18.远程写代码:一个数组有1个数字出现了一次,其他数字出现了三次,请问不用map的情况如何找到这个只出现了一次的数(不会)

19.远程写代码:二叉搜索树中第K小的元素

20.activity的onSavedInstace在什么调用?

21.一个process要被杀死,onSavedInstace会不会调用?(不知)

22.activity的onNewIntent何时被调用?

22.你有什么问题要问的吗?

###三面

1.介绍下在淘宝实习期间做的项目

2.Gcavans的原理介绍下?

3.Flutter的架构介绍下(这里没有回答好)

4.activity A->B 的生命周期

5.binder 的架构模式

6.上述生命周期中,activity A 可不可以不调用onStop方法?(B是一个透明的Activity)

7.Fragment.startActivityForResult vs Activity.startActivityForResult (不会)

8.sharedPreference原理?commit和apply的原理?apply会导致ANR吗?(面试官说apply也会)

9.sharedPreference 可以跨进程吗?(不知道)

10.远程写代码:删除一个整数数组中value为50的数字,并且返回最终的长度

11.位置无关性代码的优势?

12.虚拟内存的优势?

13.你有什么问题要问的吗?

加面

1.自我介绍