当前位置:   article > 正文

【秋招面试专题解析】Android程序员如何拿到爱奇艺.字节跳动.抖音offer_抖音android面试题

抖音android面试题

刚好闲下来,顺便收集了一些关于爱奇艺,字节跳动,抖音的面试题目。也整理好了答案,希望对即将面试和跳槽的小伙伴有所帮助

一.2019爱奇艺秋招Android

1.使用堆排序方法排序(45,78,57,25,41,89),初始堆为( 89,45,78,25,41,57 )

2.6个圆盘的汉诺塔,总的移动次数是( 63 )

3.在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为(3)

4.有关希尔排序算法叙述

5.在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为( 3 )

6…在求两个集合并集的过程中,可能需用到的操作是?
需求:求两个集合的并集

  • 取元素,至少得知道集合存的是啥元素
  • 插入元素,并集可能存在集合 A 中有而集合 B 中无的元素,需要插入到新的集合中
  • 比较操作,判断是否相等
  • 求表长,完整遍历

7.TCP协议与UDP协议负责端到端连接,下列那些信息只出现在TCP报文,UDP报文不包含此信息?
UDP头部信息只有4个,

  • 从哪来:源端口
  • 到哪去:目的端口
  • 有多长:长度
  • 对不对:校验和

8.程序员编写程序时使用文件系统提供的系统调用将内存中由address地址开始的n个字节或n个记录的信息写入指定文件中,但发现文件名不可用,可行的解决办法是?
https://www.cnblogs.com/ChunJian-YANG/p/5322041.html

9.以下程序的执行结果是:

static boolean foo(char c)
 {
 System.out.print(c);
 return true;
 }
 public static void main(String[] args) {
 int i =0;
 for(foo('A');foo('B')&&(i<2);foo('C'))
 {
 i++;
 foo('D');
 }
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

(ABDCBDCB)

  • 其实foo(‘A’);就是初始化条件,只会执行一次,所以第一个打印的肯定是A
  • 因为i=0;循环条件是i<2 (由此可知循环i等于2的时候就会停止循环,)所有0<2满足条件,接着会输出B,然后执行i++;i就变成1了,再输出D,再最后输出C,一次循环后的结果是:ABDC
  • 第二次循环的开始是foo(‘A’);是初始条件所以不会执行,直接从foo(‘B’)开始,输出B,然后i为1,且小于2,此时循环体内再次执行i++;i的值为2了,再次输出D,最后输出C
    第二次循环输出:BDC
  • 然后循环再次执行for(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’))
    直接输出B.i的值在第二轮循环后的值变成了2,2<2不成立,终止循环,输出B

10.关于Java以下描述正确的有?
Class类是Object类的超类
object类是一个final类
string类是一个final类
class类可以装载其他类

11.以下代码可以使用的修饰符是

public interface Status {
 /*INSERT CODE HERE*/  int MY_VALUE=10;
 }
  • 1
  • 2
  • 3

final.static.abstract.public

接口中字段的修饰符:public static final(默认不写)
接口中方法的修饰符:public abstract(默认不写)

12.在哪种模式下,同一个Activity可以被多次实例化

  • standard标准模式:每次启动一个Activity就会创建一个新的实例
  • singleTop栈顶复用模式:如果新Activity已经位于任务栈的栈顶,就不会重新创建,并回调 onNewIntent(intent) 方法
  • singleTask栈内复用模式:只要该Activity在一个任务栈中存在,都不会重新创建,并回调 onNewIntent(intent) 方法。如果不存在,系统会先寻找是否存在需要的栈,如果不存在该栈,就创建一个任务栈,并把该Activity放进去;如果存在,就会创建到已经存在的栈中
  • singleInstance单实例模式:具有此模式的Activity只能单独位于一个任务栈中,且此任务栈中只有唯一一个实例

13.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为(3)
A B —B出
C D —D C出
E F ----F E出
----A出
所以是3

14.Android中,资源ID保存在哪里(R.java)

二.计算机-Android方面

1.在手机开发中常用的数据库是

SQLite,是一款轻型的 关系型 数据库, 它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是 嵌入式 的,而且目前已经在很多 嵌入式产品 中使用了它,占用资源非常的低,在 嵌入式设备 中,可能只需要几百K的内存

2.在Android的Activity活动中,我们一般可以归结为那四种状态

  • running
  • paused
  • stopped
  • killed

3.在同一线程中android.Handler和android.MessaegQueue的数量对应关系是怎样的?

  • Handler 必须在 Looper.prepare() 之后才能创建使用
  • Looper 与当前线程关联,并且管理着一个 MessageQueue
  • Message 是实现 Parcelable 接口的类
  • 以一个线程为基准,他们的数量级关系是: Handler(N) : Looper(1) : MessageQueue(1) : Thread(1)

三.2019字节跳动Android面试

四.2019抖音Android面试


整理和收集不易,希望对各位小伙伴有所帮助_

关于我

更多信息可以点击关于我 , 非常希望和大家一起交流 , 共同进步
目前是一名程序员,不仅分享 Android开发相关知识,同时还分享技术人成长历程,包括个人总结,职场经验,面试经验等,希望能让你少走一点弯路。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/664296
推荐阅读
相关标签
  

闽ICP备14008679号