小米23届校招Android面经(一、二面)

一面
自我介绍,因为提到了大学课程的安卓学的很浅,基本上靠自学,问了一下怎么学习的

计算机网络
tcp和udp的区别
怎么理解有连接和无连接
http和tcp的区别
get和post有什么区别
怎么选择get和post

开发使用的是java还是kotlin,回答主要使用java,有学过Kotlin一年,然后开始问java基础
怎么理解面向对象 
我背书贼拉跨,说了一下自己的理解
有没有了解除了面向对象的其他语言
抽象类和接口的区别
内部类访问的外部类变量为什么要用Final修饰,当时声音听的不是很清楚,当时没反应过来,后来复盘的时候知道原来问的是这个
final有什么用
final的回答里面提到了final变量能够通过反射强制修改,但是会有可见性问题,面试官顺着开始问多线程
怎么实现多线程
多线程同步,提到了重入锁,cas自旋锁,随后面试官让简单说一下这些锁
synchronized修饰太重了,如果只想要保证可见性怎么办  volatile,为什么可以保证可见性,答会强制从主内存获取最新
sleep和wait的区别,答的不是很好这里,基本上没答上

android部分
经典activityA->activityB生命周期调用顺序
activity启动模式 ,随后让简单说一下四个启动模式
singleTop,singleTask,singleInstance的生命周期多了一个什么环节 onNewInstance,这里没答上,面试官告诉了正确答案
service启动模式 哪个启动模式的生命周期更长 这里理解错了,我理解是bind的生命周期有四个,start只有三个,面试官想问service的回收,就是startService不会跟随activity销毁,bind会跟随绑定的所有activity销毁后跟随销毁
因为平时开发没怎么用到,理解不是很好,这里答错了,面试官很耐心的解释了
广播,有用过嘛 答:很少 问:如果接到需求会用嘛 答:知道,broadcastreceiver接受,sendBroadCast发送,随即引申到跨应用传递数据
intent binder 广播 cp,背书不熟练忘记了cp,哈哈,本人真的记忆不好
程序内部广播 答 本地广播,不会传递到外部,所以效率更高

算法
反转链表

二面
上来互相做了一个自我介绍
主要问项目,中途问了mmkv,答不会(没用过),没有什么八股文,算法是给链表头节点,求倒数第k个节点,快慢指针,给题的时候就问思路,答快慢指针,五分钟写了,牛客的算法系统出了点小问题,但是无伤大雅
反问 
工作地点在哪 北京
还有三面嘛 应该没有了
总体自我感觉还行,许愿offer,今年不好找工作啊,早点上岸早点安心



#面经##面试##小米科技##安卓开发##Android#
全部评论
楼主现在是拿到他们的offer了么
点赞 回复 分享
发布于 2022-10-05 19:18 山西
offer了吗兄弟
点赞 回复 分享
发布于 2022-10-16 12:51 辽宁

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
1 11 评论
分享
牛客网
牛客企业服务