Skip to content

Latest commit

 

History

History
247 lines (125 loc) · 5.29 KB

2019春招暑期实习面试题.md

File metadata and controls

247 lines (125 loc) · 5.29 KB

2019春招暑期实习面试题

字节跳动(抖音)

一面

Thread、Process的区别

介绍一下线程池的概念,singleThreadpool什么场景下使用,只有一个线程为什么不直接使用new Thread()

网络三次握手四次挥手,get、post通常是在请求的什么部分发送出去的,为什么需要三次握手而不是两次

二叉树中序遍历

二面

三次握手四次挥手

activity的启动模式

okhttp源码讲解

判断平衡二叉树

dx、px等的区别

java中有哪几种修饰符(public、private、protected、默认),protected是包级可见的吗

java中保持线程同步的方法(锁)

synchronized对普通方法、对静态方法加锁有什么区别

java中的四种引用

kotlin和java比的异同点

三面

数据库索引、事物的概念

关系型数据库中的主键是什么

sql语句的结构

java中类似里的析构函数

c++和java都是面向对象,有什么区别

android中除了线程池还有哪些多线程的实现,AsyncTask实现原理,AsyncTask是单线程的还是多线程的

介绍一下http协议

http各个状态码的意义

四面

为什么要把代码放在github上...

public static int getCounts(View view){
}

如何拿到当前view的所有子view的数量

view和viewgroup的区别

public static int[] getMax(int[] args,int n){
}

如何从args中找到前n个最大值

启动模式

a stand

b top 

c task

d instance

abcd abcd ab

当前task的状态,按返回键后activity的顺序

为什么d之后再来a是加到之前的task而不是新建task

hashmap原理

如何改造haspmap的源码让他成为线程安全的

事件分发机制

java中所有类的基类是什么?默认实现了什么方法?

腾讯(微信)

okhttp源码讲解,okhttp中连接池的最大数量,连接池的实现原理

有两个View:view1和view2,view2在view1上面且比view1小,如何判断点击view1之内的屏幕是应该由view1处理事件还是由view2处理

NDK是否可以加载任意目录下的so文件,so文件有几种加载方式

自定义view的方法,为什么在ondraw中绘制即可产生相应效果,什么时候使用自定义view什么时候使用原生view

ndk加载so时如何考虑32位和64位的不同,如何考虑不同的arm平台

sqlite是不是线程同步的

有没有对比过flutter和其他跨平台方案有什么异同点

腾讯(腾讯视频)

错误码和错误描述,可能多个离散错误码对应一个错误描述,如何根据不同的错误码返回不同的错误描述?

NDK中c持有java的对象和java持有c的对象如何管理内存?全局引用、局部引用,xx引用?

腾讯(腾讯音视频实验室)

apk如何缩减包的体积?有没有了解过webp?

java编译后和c++编译后有什么区别?

String的不可变性是怎么实现的?

自定义view的流程?

如何实现一个icon下半圆蒙层的效果?(path路径的概念)

在Athread中调用bThread.sleep,休眠的是哪个线程?

java类中有的变量没有被用过,是否可以随意删除?为什么?(有可能被反射用到了)

屏幕上有view1 view2 view3,其显示流程是怎么样的?

String[]的父类是否是object?

ndk中的局部变量如果不手动释放一定是安全的吗?

链表的翻转

20亿个qq号码,判断其中是否存在target 号码

ndk中extern c有什么作用

ndk中attachCurrentThread是干什么的?

invalidate()和postInvalidate() 以及requestLayout()的区别

蚂蚁金服-支付宝

神经网络模型如何减小体积

Android中如何自己实现跨线程的通信

Android中的synchronized和reentrantLock有什么区别

如何反转一个链表,时间复杂度是多少

快排的思想,最好、最坏时间复杂度

Android中一个线程是否可以持有多个handler、messagequeue、looper?

handler机制

AsyncTask原理

数据库如何短时间高效批量插入数据

java静态方法是否可以被重写

非静态内部类和静态内部类的区别

使用fragment有什么好处?

有没有使用过fragment的嵌套?

handler.postDelayed中的run是工作在主线程还是子线程

android中是如何做内存管理的,android中什么情况下会导致你内存泄漏

arraylist和linctedlist的区别,各自的使用场景

java gc机制的介绍

字节跳动(头条)

一面

写一个懒加载的单例

synchronized关键字

类中的this是什么(对象自己)

Handler机制,Looper、Thread的关系,如何保证一个Thread只有一个Looper

线程池,queue调度作用

求给定数组中和最大的连续子qj串的最大和的值

Service有没有用过

自定义View是否了解

有没有用过什么图片加载框架

listview如何优化,listview的复用机制,findviewbyid为什么耗费资源

二面

生产者消费模式

代码的设计原则(开闭原则等)

屏幕适配方案

线程池

进程

activity启动模式

四大组件

链表的倒数第a个节点

二叉树的深度

接口和抽象类的区别,为什么要有抽象类

三面

给出一个有序且含有重复元素的数组,找出target元素的下标,如果不存在返回-1,二分查找

删除一个List中重复的元素(说是要点在r?)