小米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 辽宁

相关推荐

ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 11 评论
分享
牛客网
牛客企业服务