2020美团面试真题解析
1.双链表找相交结点2.10亿数,找最大100个数3.synchronize 静态方法和普通方法4.ANR是什么,怎么解决
5.Activity生命周期,如何摧毁一个Activity(finsh())
6.startserver和bindserver
7.聊项目
8.聊各种各样的工作
自我介绍实习时长
有没有做过相关的项目或者自己实现过小daemon吗
平时有跟其他同学合作过吗,你是写客户端的,遇到问题如何解决,你觉得跟你合作的同学水平如何?
前后端通信用的什么协议?
输入一个URL发生了什么,webview有用过吗?
了解HTTPS吗,建立的过程? 使用Json有遇到什么问题吗
android如何发起网络请求,有用过相关框架吗,okhttp框架解决了你什么问题?
如何更新UI,为什么子线程不能更新UI?
了解ANR吗?
String有哪些方法,常用哪些, ==与equals的区别?
JAVA中用过哪些容器类,HashMap底层数据结构,如何处理hash冲突?
Activity的四种启动模式,区别?
Activity A 跳转B B跳转C,A不能直接跳转到C,A如何传递消息给C?
AndroidManifest文件中用过哪些相关权限?
Intent显示跳转与隐式跳转,如何使用?
除了JAVA还会其他语言吗?说了C++,写过一点JS
React Native了解吗?答:不了解 了解过NDK。于是问为什么用NDK
接着问Jni了解吗?有没有自己使用过,只要编译成功Hello World也算,与JAVA相比效率如何
后来面试官解答:同一段代码C与JAVA运行效率快很多,因为JAVA要编译成字节码,但考虑到JNI本身调用的开销,在调度频率不高但一次任务处理量大的情况下时候适合用JNI调C
手撕代码逆序输出ArrayList
提问环节问:部门技术栈? 答,React Native所以要学JS 平时开发偏View吗? 答,是的
自我介绍
RecyclerView与ListView的对比,缓存策略,优缺点
Activity与Fragment的生命周期
Fragment add与replace的区别,分别对Fragment的生命周期影响
事件的分发机制提到了责任链模式,就接着问责任链模式的优缺点
除了责任链模式还了解哪些设计模式,说了观察者模式,单例模式,工厂模式
观察者模式的优缺点,什么情景下使用?使用过哪些用观察者模式的框架?
RxJava了解吗? 不了解
Gradle文件了解吗? 说不太了解就没往下问
中间就优化问题问了好多,我都不会,问的我都觉得我已经凉了
view的绘制流程,View层次过深怎么优化,选择哪个布局比较好?
手撕代码递归反转栈,判断链表是否有环,反转链表
StackOverFlow与OOM的区别?分别发生在什么时候,JVM栈中存储的是什么,堆中存储的是什么?
什么时候会发生内存泄漏?举几个例子
提问环节于是问了一下平时如何学习android以及准备面试?
日语什么水平,为什么学日语,不看字幕能听懂吗?
平时怎么学习的?觉得自己哪些专业课学得比较好?
除了日语还有哪些兴趣爱好,准备学到什么程度?
为什么选择android?身边同学都选择什么方向?
为面试做了哪些准备?说了看了深入理解JVM那本书,于是问JVM哪一部分比较熟?
如何判断一个对象是否被回收,有哪些GC算法,实际虚拟机使用较多的是什么GC算法?
如何开启一个线程,开启大量线程会有什么问题,如何优化?
线程池的相关参数,有哪些类型的线程池,线程池任务如何调度,任务队列只是先进先出的队列吗,任务有优先级怎么办,知道优先级反转吗?
平时开发遇到问题会怎么办?提到了StackOverFlow这个网站,于是被问你知道StackOverFlow除了是个网站还有其他意思吗? 答:栈溢出
于是接着问什么时候会StackOverFlow,如果让你写一段栈溢出的代码你会什么写,一个栈大概有多大,为什么?每个线程都有这样大小的一个栈吗?
有了解过面试的岗位做什么的吗?说了下好像是用React Native做跨端
有没有对笔试和前面的面试进行复盘?现在你觉得笔试题你能做出几道?
除了Android还关注过哪些技术?
提问环节为什么问了很多非技术问题? 答:因为我觉得非技术方面如性格,工作是否稳定不仅是HR的事,用人部门也需要了解
如何判断
手撕代码求集合所有的子集
电话简单的聊了一下
哪里人?现在在家吗?
实验室什么方向,学校什么时候开学,上网课跟平时上课有什么区别,感受如何?
为什么选择做前端(android),身边有其他同学做android吗,平时有交流技术吗?
有了解自己的岗位做什么的吗?
还面了哪些公司,进度如何?后续有相关通知会联系你,有问题可以打电话给我
最好嘴贱问了我面试通过没有?没得到肯定答复,好像面试比较忌讳直接问结果?不知道有没有影响
上来就是编程题,讲思路
找两个链表重叠的开始结点(双指针)
对于5亿条成交数据,找出前100个销量最好的商品
面向对象对于面向过程有什么优势
对多线程的理解(我答提高并发度,安卓ANR需要多线程解决)
假如只有一个cpu,单核,多线程还有用吗
hashmap和hashtable有啥不同(我说底层实现差不多,但是hashtable是线程安全的,因为访问的时候会加锁)
怎么做到线程互斥
synchronized描述的一个静态方法和一个普通方法都对一个变量count进行访问,能保证线程安全吗(答不能,对象锁和类锁不是同一个东西)
对反射有了解吗(答了动态获取对象,在注解上的应用)
activity生命周期
handler
怎么样算是一次请求成功了
项目中写的bitmap优化是指?
线程池用过没,有什么优点
怎么维持的长连接为啥要有心跳包
a启动b 再返回生命周期
线程进程协程区别
上下文切换的区别
求树高度
三次握手为什么不是两次一次五次六次
kmp算法
java内存分区
jvm和dvm有什么区别