新浪微博安卓开发一面面经

1.自我介绍
2.mad(model android development)了解吗
3.java版本,1.8和21的区别,有没有使用过java21的新特性
4.梳理java collection
5.hashmap扩容机制,引入红黑树的目的
6.什么条件hashmap进化为红黑树
7.如何保证hashmap的线程安全
8.concurrenthashmap和用sync的hashmap有什么区别,官方提供的concurrenthashmap是怎么保证线程安全的
9.cas内部如何保证版本号的正确性
10.场景:如果一个数量为10的列表,大量线程读,少量线程写,如何保证效率和读写安全
11.这个列表更新之后,用户在界面如何快速的看到变化
12.假设列表变大了,方案会有什么变化吗
13.假设变成了一个读少写多的场景呢?
14.sync和可重复锁的关系是
15.reentrantlock可以实现而sync不能实现的功能是?
16.如何把并行的多线程变成串行的流程
17假设线程a的执行时间长,b等a的时候需要有一个超时时间,比如5s后a还没执行完,b也需要执行,如何实现
18.future超时机制可以被打断吗,报什么异常
19串行的问题可以用现成的工具or第三方库实现吗
20.vm比activity的生命周期长,这是怎么实现的,为什么activity销毁后,vm保证不销毁
21.正常的退出和销毁重建在是怎么区分的
22vm中的safe state handle是干嘛的
23内存峰值降低是如何实现的,优化了什么
24热点封面的缓存是如何实现的
25常见的内存泄漏的case
26如果改成静态内部类,执行完之后怎么回调给外边
27开发过程中用过什么ai工具吗
28ai开发遇到的问题,有没有总结解决的方法
29有没有精简token的小技巧
全部评论

相关推荐

年前面的一共两轮面试,二面挂了,十分的可惜呀,虽然我作为一个纯JAVA选手,还是临时准备了一些安卓开发的一些内容,但是二面还是应付不过,整理一下面试题吧1. 做一个自我介绍2. HTTP、Socket 有什么差别3. WebSocket 是什么,和 HTTP、Socket 区别4. TCP 如何保障传输可靠5. TCP 拥塞控制有哪些方法6. HTTPS 原理,和 HTTP 区别7. 为什么用 NIO,相比 BIO 解决了什么问题8. 继承、封装、多态9. 重写和重载的区别10. Java 四种引用是什么,有什么区别、使用场景11. GC 可达性分析算法12. GC Roots 有哪些13. Java 异常种类,Exception 和 Error 区别14. 什么是泛型,泛型擦除是什么15. 泛型通配符类型有哪些16. ArrayList 底层结构和扩容模式17. ArrayList 和 LinkedList 区别18. HashMap 底层结构19. JDK 1.8 之后 HashMap 有什么变化20. HashMap 线程安全吗,为什么21. ConcurrentHashMap 1.7 和 1.8 区别22. 线程池工作原理23. 线程池队列满、最大线程也满,再添加任务会怎样24. 线程池拒绝策略有哪些25. JDK 预置线程池有哪些,有什么问题26. IO 密集型和计算密集型线程池怎么配置27. Java 中保证线程安全的机制还有哪些28. 协程了解吗,Go 和 Kotlin 协程对比29. 什么是 Spring IOC,作用是什么30. 安卓里自己实现 IOC 容器思路31. 什么是依赖注入 DI32. 自己设计依赖注入框架怎么做33. 什么是 AOP 思想,应用场景34. 什么是高级函数35. 延时任务实现方式有哪些36. Activity 生命周期37. Activity 弹弹窗生命周期有什么变化38. Android 四大组件及其作用39. 开发中常用哪些设计模式,怎么用40. MVC、MVP、MVVM 介绍41. 职业规划方向,和客户端开发会不会冲突42. 低代码/AI 辅助开发你是怎么做的43. 怎么提升 AI 生成代码效果44. 有没有做前后端规范约束生成效果45. 手写:链表反转(不使用额外内存)个人感想:面试官人很好,感觉挺和蔼的,题的话也是基础偏多一点,基本上都能回答出来,然后也是很快就约了二面了
吃不饱的迪恩很紧张:这么多
点赞 评论 收藏
分享
评论
2
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务