网易、360企业安全、有赞和远景能源(Android)面经
- 四家都拿到了offer。 =。= 因为时间比较早,当时懒得记录,现在都是依靠回忆,有很多不全,所以面经比较少,就只拼在一起了,还望谅解。
- 网易(现场三面,Android开发工程师)
- 一面:
- TCP的三次握手说一下?为什么是三次握手?为什么是四次挥手?
-
- Service用过吗?生命周期说一下?当内存不足时Service被杀死了,如何重启这个Service。
- Fragment用过吗?Activity如何传参给Fragment?为什么用setArgument传参,而不是使用带有参数的构造器?
- 知道系统杀进程吗?如果栈中从底到顶现在是A,B,C,然后系统把应用杀了,重新点击,显示的是哪个Activity?这时如果C里面有Fragment是怎样恢复的?(中途解释了为什么要用setArgument传参,说在走Activity的生命周期之前会先有一个恢复过程,反正听的云里雾里)栈下面的A,B存不存在
- 以上两题在去年出现过,基本上就是原题,我没有答出来 =。= 当时也没有复习到。
-
- Android的持久化方式?ContentProvider自身是否存储数据?
- 二面:
- 算法:实现String的endWith()方法。
- 创建线程的方式?线程同步方法?
- 垃圾回收机制说一下?
- 多态说一下?重载和重写说一下?
- Android启动模式说一下?如果我要实现网页一样的效果,需要使用哪个模式?
- Android的适配了解吗?(我提了一下drawable那些,但其实这边讲得不好,面试官最后特意跟我说了下,回去好好看一下适配的问题)
-
- 用过哪些第三方库?说一下Okhttp的优点?
-
- 360企业安全(远程视频三面,Android开发工程师)
- 算法:给你一个数组A,返回里面和为m的两个数的下标值i,j。
- 四种启动模式说一下
- HashMap说一下
- 线程创建方式?线程同步方法?
- Sychronized和ReentrantLock有什么区别?
- 点击一个按钮后,事件分发机制说一下
- Binder机制说一下。如何实现两个进程同时访问一个服务时线程同步问题。
- 垃圾回收机制说一下
- 为什么本科在外面,研究生回来读?
- 10分满分,给自己打多少分?(7,开启不要脸模式)
-
- 有赞(电话一面+现场四面,JAVA后台开发工程师)
- 线程各个状态说一下?画图说明
- 线程创建的方式?线程池说一下,原理是什么。
- 线程同步的方法有哪些?
- sychronized修饰在不同的地方有什么区别?
- sleep和wait的区别?
- 抽象类和接口的区别?
- 多态说一下?重载和重写。
- final说一下。修饰在内部类的方法参数前有什么作用。
- HashMap说一下?(非常详细)
- 垃圾回收机制说一下,进行标记整理时容易出现什么问题?
-
- 远景能源(现场三面+电话总监面,前端开发工程师(包含客户端))
- 算法:旋转数组的最小数字( 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。),具体可以看剑指offer。
- 智力题:a=4,b=5,在不引用第三个变量时实现两者值交换。
- 智力题:有100个数,0~99,打乱的,随机抽取掉一个数n,如何在不排序的情况下将n找出来。
- 围绕算法题,一直问有没有什么问题,哪里需要优化之类的。
- 心跳包说一下?实现方式是怎样的?
- 线程池说一下?创建和内部原理。
- 闭包知道吗?
- 跨域访问知道吗?
- Java里面的异常说一下。
- 垃圾回收机制说一下。
-
- 碎碎念:哇,又到了最爱的碎碎念时间!写完这最后的面经,应该就是木有啦。=w=,这段时间在牛客网上真的学到了好多,非常非常非常感谢大家的无私奉献。不是自己一个人在战斗的感觉呢~
- 来聊一聊这四家给我的面试体验吧。(^_^)
- 网易是四个里面难度最高的,尤其是一面。不过能感觉出面试官还是挺喜欢我的(=w=)一面结束后,小哥哥说让我出去等二面。二面提问环节,我问面试官这是统招还是部门招,面试官说,一会儿你问下hr吧,记得回去再把适配问题再好好看看。(=。= 其实我听面试官都这么说,应该还是稳了的吧,虽然后面等结果的时候还是炒鸡焦虑)中午在英飞特吃的饭,讲道理,我觉得一般般。(严肃脸)还遇到两个小哥哥一起吃饭,分别面Android和IOS,糟糕,是情敌的感觉!
- 360企业安全面的比较晚,视频一天面完,一面的小哥哥脾气很好,但感觉出好像是新手面试官2333,二面面试官就完全不同了,问的技术难度要大一些,会分辨你是在背知识点还是真正的理解掌握的,因为当你回答完后会再继续往里面深挖,回头一问是技术***会的成员=。=。
- 有赞因为我是主Android的,所以一开始就和面试官说我不会后台框架,但Java的一些基础知识还是知道的。所以主要围绕在java的基础知识和项目,面试难度应该比很多直接面Java后台的小伙伴要简单一些,不过对沟通和思维能力要求会高一些,毕竟要说服面试官我可以学习,并且学习能力很强,以及展示其他软实力。
- 远景能源一面面试官知道我是报的客户端,但是没怎么问Android相关的问题。=w= 但技术还是能感觉出来非常好的,一眼就看出我简历上的技术点漏洞,莫名被怼的很开心。
- 面经分享就到此结束啦。回头有空再分享一下整理的面试题和答案。=。= 现在还有些乱。