小米init训练营面经(邮件通知已凉)

小米init一面

整体感觉:面试邀约比较突然,我正在骑电瓶车,赶紧速度70迈赶回家。面试体验不错,题目不算难,面试官非常友好,不会的也会给解答,反馈感比较好。个人有些知识点了解得不够深入,不知道面试官听着我掰扯难不难受。。。时间把控还可以,全程将近40分钟。
面试岗位:init创造营Android开发
面试内容:包括基本情况、Java基础、Android基础、软件开发、为什么选择小米、反问。
具体问题(问题和答案都存在一定的记忆偏差,按照我自己的思路总结的):

  1. 自我介绍,问了问大概的Android经历,为什么从事Android开发。
    答:-
  2. 面向对象的特征。
    答:分别回答了继承、封装、多态三个特征的形式和原因。
  3. 对于GC的了解
    答:不是很清楚具体的方法,有大概了解,讲了一下大概的了解。
  4. 有哪些集合?ArrayList和LinkedList的区别?对于HashMap的了解。
    答:把那些集合都说了一遍。把arraylist和linkedlist的区别说了一下。把hashmap的原理大概讲了一遍,讲得比较啰嗦,面试官然后总结了一遍。
  5. 如何新建线程;对线程池的了解;多个线程的操作会出现什么问题、怎么解决?synchronized关键字修饰静态方法和非静态方法的区别。
    答:重写run或者传入runnable接口;在Android中有些框架用到,具体不太清楚;读没有问题,写会出现同步问题,可以使用syncrhonized关键字;synchronized修饰静态方法和非静态方法不知道是什么区别,面试官告诉说获取的锁不一样。
  6. 对于设计模式有没有了解,分别有什么应用场景。
    答:把我看到的那些单例、工厂、适配器大概说了一下。单例说了Android开发中的Calendar;工厂没记得;适配器随便说了个Android中的adapter。
  7. Android中activity有几种启动模式?
    答:standard、singletop等,(没有全部说出来,也不知道说出来的对不对),然后自己补充了一句,这个启动模式的意义在于控制他们在activity栈中的位置。
  8. 注册广播的方式。
    答:不记得了,面试官说manifest和动态。
  9. handler的了解,主线程和子线程里创建handler的区别。
    答:线程进行通信的工具,第二个不记得了。面试官告诉我说handler操作的是looper对象,主线程有looper对象,而子线程没有,需要使用handler的话,要在子线程中手动准备looper。
  10. 对简历中开源框架Glide、Gson、OKhttp的了解。
    答:大概说了一下只会使用,没有更深入的了解源码。
  11. 软件开发的流程。
    答:需求分析-编码-测试-上线-维护更新
  12. HTTP和HTTPS的区别。
    答:安全,http明文,https有ca认证是密文传播,默认分别对应了80、443端口。
  13. 为什么报小米?
    答:喜欢雷总。
  14. 代码题:二叉树深度优先
    答:写了个递归,顺便说了一下先中后序的区别

反问问题(没来得及提前准备问题,毕竟邀约和面试很仓促):

  1. init的培养模式,对于实习生基础、目标的要求是什么?
    答:大概就是有经验的就上手,没经验的就先培养一下,主要负责的项目是小米手机的原生app。
  2. 沟通面试时间,面试官问我实习完了愿不愿意转正。

个人总结

  1. Java基础确实不够。
#面经##校招##小米##Java工程师#
全部评论
凉凉😂
点赞 回复 分享
发布于 2021-07-02 22:02
喜欢雷总这句绝了
点赞 回复 分享
发布于 2021-07-04 20:47
你好,我们是阿里巴巴进出口事业部,考拉海购,在招聘22届实习生
点赞 回复 分享
发布于 2021-07-06 17:38
懂了,不会原理就不要写在简历上
点赞 回复 分享
发布于 2021-07-11 17:20

相关推荐

评论
3
8
分享
牛客网
牛客企业服务