京东二面挂
9.9一面hr
9.11二面
闲聊
1.你现在是在实验室吗?
2.平时都几点回去?
3.现在学业繁忙吗?
4.我们业务比较核心,对Java基础,安卓基础,数据结构,算法基础比较重视。
手撕
归并排序 控制在半小时以内
1.你看你写了那么多的循环,有没有优化的空间?
2.输入的数组能不能尽可能乱一点?搞些负数、0、重复的数字还有大一点的数字。
3.输入能不能不要用n来限制,输几个数就排几个数,实际开发不都是这样的吗?
4. 你感觉你的算法写的怎么样?
八股
1. 实习中最常用的集合框架是什么?
2. 为什么不用LinkedList而要用ArrayList?
3. 把HashMap的value 值转化为List,你能想到几种方法?
4. HashMap和HashTable 的区别?
5.HashMap为什么线程不安全?
6. HashTable 是如何实现线程安全的?
7. synchronized为什么能实现线程安全?HashTable里synchronized锁的是什么?
8. HashTable里put 的同步机制?锁可以加在类上吗?synchronized修饰类锁的是什么?修饰代码块锁的是什么?
9. 新版本的HashMap和旧版本的HashMap的区别?
10. 红黑树的代码有没有看过?
11. 有一个订单列表,有订单 id,用户信息,创建时间等等,我要通过下单时间排序,你能想到几种排序方法?
12. 从文件夹拷贝10M内容到另一个文件夹,你能想到哪些方法?
13. 多线程了解吗?安卓多线程是如何实现的?子线程如何将消息传递给主线程?
14. 可以在子线程里面刷新UI吗?如果我非要在子线程里刷新了UI呢?会怎么样?会抛出什么异常?
15. ANR是什么?ANR产生的根本原因是什么?多久会出现这个异常?所有的情况都是 5s 吗?Service里面也是5s吗?
16. 支付SDK里,主线程是如何通过callback回调进行刷新UI的?
17. 多线程里面如果有多个任务,任务有不同的优先级,怎么处理?
18. 反射主要用来干什么?反射拿到的是什么?反射我能拿到private修饰的资源或者方法吗?是如何拿到的?
19. 大学有没有学过安卓?
实习
1.实习用到最多的布局是哪些?
2. 催费弹窗是怎么做的?如果新增一种类型,是不是要新开发?各个组件是可以随意组合的吗?那么你的高度是如何计算的?如果没有内容只有头图和按钮是怎么做高度的?自适应还是?
3. 如果新增一种业务,客户端能不能做到不开发新的组件?做成可完全配置化你有什么思路吗?
4. 如果有个弹窗里面只有一个标题,那你之前的弹窗肯定不适合放这个,这个可以配置吗?高度自适应有什么办法吗?
5. 谷歌支付和虚拟货币支付流程差异?调起谷歌支付 sdk 是哪来的?订单是如何和商品 id,谷歌支付串联起来的?
6. 你在做支付的项目中有什么总结吗?有积累什么经验吗?
7. 介绍一下webview 的优化。
9.14流程结束
#牛客创作赏金赛#