2016小米实习生面试心得

来源:互联网 发布:淘宝生鲜配送快递 编辑:程序博客网 时间:2024/05/01 17:36

              今天参加了小米的电话面试,在面试之前小米HR会和你预定面试时间,(记得邮件确认面试时间),这次面试面了将近一个小时,从下午四点零五到五点,一个小时的时间真的感觉是轮番轰炸,两个面试官同时面你(人性的是两个面试官不会问你两个完全不同的问题,他会在第一个面试官提问的问题的基础上继续深究,或者对你没回答上来的地方做指引),面试之前看过小米面经,说小米的面试官来自不同的公司,有谷歌的,有腾讯的,对于项目会问的特别细,面试下来发现还真的是;

            面试开始让我自我介绍,介绍项目,根据项目中提到的知识点对你往死里问;

          1:如何实现网络请求的(主要讲了一下网络请求的过程),网络请求采用的是是什么格式(Json),你还知道其他格式么(XML)二者有什么区别?

          2:网络请求有没有缓存数据?如何实现缓存数据的?缓存的原理是?如何将数据缓存到沙盒中,如何将数据缓存到plist文件中,如何将数据缓存到CoreData中?

          3:网络请求中对请求的数据容量有没有限制?有的话,最大设置为多少?限制是如何是实现的?假如现在缓存没有足够的空间来存放请求的数据,该怎么办?(断点续传)

          4:断点续传的基本原理是?

          5:如何获取服务器的最新数据?

          6:SDwebImage 的原理

          7:项目中的死锁为什么会产生,如何解决的?

          8:代理使用assign属性就不会产生问题么?(会,野指针),创建代理属性中使用assign和weak的区别;

          9:沙盒中有哪些文件,分别是用来干什么的?

          其实有很多问题都是重复的,但是因为我答得不好,他就是不肯放过,一直问一直问;问的不耐烦了,换另一个人(感觉其中一个面试官脾气不大好)

         面试官: 好吧,问点简单点的(面试官叹了好几口气),

         1:100万个数中如何快速的找出两个重复的数(之前看过,采用位图法,面试官第一次没挑刺)

         2:快排思想,实现

         3:中序输出实现

         4:深度优先遍历,广度优先遍历,二者区别;咋样实现(栈,队列),栈和队列的区别;

         5:堆和栈的区别;

         最后面试官问有啥问的没有(老问题,面试中我有什么不足):数据结构还行,能答得上来,但是对于底层了解的太少了,得注重底层;

      

0 0
原创粉丝点击