Android百度一面35min

1.拷打实习
2.为什么不转正
3.聊下最近做的一个需求
4.讲下一个场景的完整链路(不懂啥意思)
5.实习负责的搜索结果页他问我搜索推荐页的东西(直接说你是不是具体的流程不了解,只是开发了UI的东西)
6.讲下xhs的DSL
7.讲下一个自定义View的需求
8.Handler消息机制,源码。。。
9.怎么拿到Handler
10.讲下Looper里面的源码
11.Looper的loop方法是死循环为什么不会阻塞子线程
12.Looper怎么退出,怎么判断任务执行完了
13.序列化和反序列化
然后面试官讲了一堆我没听过的东西。。。
14.讲下HashTable、HashMap、HashSet
15.HashMap初始长度,什么时候出现冲突,哈希函数,怎么根据key计算hashCode,哈希是什么东西。。。
16.HashMap的数据结构,哈希碰撞后怎么放,那怎么找数据,get()方法源码
17.自定义View的拷打
无算法

反问:
有没有转正
招多少实习生

总结:面试体验很差,甚至有几次挂断电话的念头,从一开始面试官就上压力,很不友好。问的非常深,属于要把源码看得非常透彻,被狠狠拷打了

后续:秒挂了。。。
全部评论
是转正offer?
点赞 回复 分享
发布于 03-11 14:23 北京

相关推荐

平台碎片化带来的适配困境是客户端开发者面临的首要挑战。Android生态的碎片化问题尤为严重,全球上万种不同机型在屏幕尺寸、硬件性能和系统定制化方面存在巨大差异。开发者不得不耗费大量时间处理各种兼容性问题,从低端机的性能优化到厂商ROM的特殊行为适配,再到不同系统版本的API兼容。这种碎片化不仅存在于Android平台,iOS开发者同样需要应对苹果严格的审核政策和频繁的系统更新。相比之下,后端开发者面对的是相对标准化的服务器环境,而客户端开发者却要将30%以上的开发时间浪费在兼容性调试这种低技术含量却又必不可少的工作上。技术迭代与业务实际需求之间的脱节让开发者陷入两难境地。苹果和Google每年都会推出大量新技术和新框架,但这些更新在实际业务落地时往往遇到阻碍。企业出于稳定性和成本考虑,通常会选择保守的技术路线,导致开发者被迫同时维护新旧两套代码。更令人困扰的是,一些被官方力推的新技术如SwiftUI和Jetpack Compose,在成熟度和性能上还无法完全替代传统方案。这种既要学习新技术又要维护旧代码的状态,不仅增加了工作负担,也让很多开发者感到职业发展的迷茫。性能优化的边际效益递减现象严重影响了开发者的工作成就感。客户端性能优化看似技术含量很高,但实际上投入产出比往往不尽如人意。将App启动时间从1.2秒优化到0.8秒可能需要数周的努力,但普通用户可能根本察觉不到这种差异。相比之下,后端团队的性能优化成果通常能直接反映在业务指标上。更令人沮丧的是,客户端优化的方法论已经高度标准化,很难体现开发者的技术独特性。此外,平台方的各种限制政策也让优化工作变得束手束脚,开发者不得不把大量精力花在应付平台规则而非真正的技术创新上。繁琐的发布流程严重制约了开发效率和创新尝试。客户端应用的更新必须经过应用商店审核,这个过程不仅耗时(iOS审核通常需要1-3天),还存在被拒风险。紧急热修复受到严格限制,使得线上问题的响应速度远低于Web应用。Android平台还面临着用户不愿升级的困境,开发者不得不长期维护多个历史版本。这种冗长的发布周期使得A/B测试和快速迭代变得异常困难,在强调敏捷开发的今天,这种滞后性严重制约了产品创新和用户体验的提升。          
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务