Android杂谈(26)北京的面试之旅

转载请注意:http://blog.csdn.net/wjzj000/article/details/76032956

本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅…


我和一帮应届生同学维护了一个公众号:IT面试填坑小分队。旨在帮助应届生从学生过度到开发者,并且每周树立学习目标,一同进步!
这里写图片描述

写在前面

大三结束,马上进入野生放养的最后的大学时光。本来想简单留在山东找份实习增加增加经验。 然后在去北京吸一个帝都的霾,毕竟外省的霾没吸过,也不确定是不是有股麦芽的香气。
巧合的是受身边同学的影响,稀里糊涂的通过拉钩投了几家北京的实习。幸运的是稀里糊涂的就接到了几家面试邀请(这里就不提名字了,当然不是一二线互联网公司)。三天排了四个面试,正好。只需要住上三天,也不用经历可怕的租房…而且修炼程度不够的话直接回去,也没什么损失…
7月18号正式开始了我的密集面试之旅!


开始

如果说最让我惋惜的一家,应该就是第一家。因为是第一家所以,在我看来发挥上并不是多么稳定。而第一家又恰恰是这四家里最有挑战的一家,如果没猜错的话也应该是待遇最高的一家,虽然并没有走到了解薪资的最后一面。
第二家是目前入职的一家,也是我感觉氛围最好的一家。无论是技术上还是业务亦或是团队上。都相当的没毛病。面试完的3天之后给的offer
第三家是一个初期的创业团队,面试过程中感觉他们虽然在盈利但是属于一种投机的状态,并没有一个稳定的核心业务。所以并没有考虑加入他们。
第四家是最快给了offer的一家,第二天就给了。应该是环境最好,公司实力最强的一家。但是他们软件并非是核心业务,因此虽然他们很快给了offer,我还是进行了自己的考虑。

接下来到了干货时间,也就是面试的题目:


第一家:

笔试

Java部分:
第一题:String的==,这个没什么难度。
第二题:Integer的==,这了有一个坑,不过笔试题并没有体现。那就是如果Integer超出-128—127的范围==是为false的。
第三题:方法中的引用传递,如果new的话是否会影响方法外对象的值。当然是不会的,因为方法内部操作是new,因此这个方法的形参传递的引用地址指向了一块新的内存地址,方法结束后,一切都不符存在。

以下进Android部分,比较的简单:
第四题:常用的集中布局,特点是什么。
第五题:广播的类型,简单描述。
第六题:简单写一个MVP架构的登陆程序。


面试部分

面试通过后,进入第一轮面试,并且止步于此。
面试官是一名做了4年的Java开发人员,非常有经验的面试官,很会出题也很会引导。

第一个问题:
手写算法:给你一个数组,返回一个数组,但要去掉原数组的重复内容。
写完后,面试官和我探讨了一下有没有更好的方式…

第二个题目:
说一下内存模型。按套路谈了一遍,堆,虚拟机栈,方法区…当我提到程序计数器的时候,他问我,作用是什么?我没有答上来。因为关于这一块我的确没有特别的去准备,只是平时的记忆,终究怪自己基础不好。

扫描二维码关注公众号,回复: 2373460 查看本文章

第三个问题:
谈一下Java的GC机制。这一块谈了也并不好,当他深入去问的时候,就答不上来了…

第四个问题:
在此回归到算法上面来了,链表翻转。其实这个题在一些面试算法题部分是有涉及的,但是我的确没有重点去看这个东西,好在也写出来了

面试部分基本到此就结束了,因为整体回答的并不好,并没有收到后续的面试邀请,也怪自己太匆忙并没有好好的准备。第一轮面试就这样铩羽而归…

第二家:

第二家效率非常的高,直接面试,进行了俩轮技术面试后,就到了hr面。

第一轮面试:

从问的问题上来看,这位面试官应该是做安卓的。问的问题比较简单。

Java+算法、数据结构部分:
依旧提到了内存模型和GC机制,因为吃了第一次的亏,在第一次面试后我着重看了这俩部分,在这方面上并没有被问住。

简单说一下快排和堆排序的原理,简单说了一下快排。因为堆排序我真没看过也就很直接的说:我不会。

说一下HashMap,分析一下源码。

Android部分:
在Android部分面试官抛出问题之后,并没有根据我说的内容就深度发问,可能是要求比较低。
说一下事件分发机制。
说一下Handler机制。
说一下MVC和MVP和MVVM的区别。
看了我的开源项目,问了一下实现原理。

大约40分钟左右的样子,他告诉我你等一下,然后进来了新的一轮面试官,后来我得知他是CTO。

第二轮面试

Java+算法、数据结构非安卓部分:
内存模型。

他先问了问快排的思想,我回答完毕后,又问我如果数目很大我们怎么快速的去获取前10名的数据。说实话我并没有理解他出这题是什么意思,然后我就简单的和他探讨了一番….

很巧合的是他也问了数组去重复的问题。
实现一个队列,说一说你的思路。
谈一谈你印象最深的一种数据结构。
简单介绍一下三次握手。
说一下HTTP协议中请求头和响应头。

Android部分:
详细说一下Activity的生命周期。因为让详细说,所以基本上把各种一些特殊情况的回调顺序都说了一遍。
说一下项目中为什么用MVP。
因为我在简历中提到了RxJava,所以问了下RxJava中的简单操作。
介绍一下Handler机制,并且说一下loop方法是一个死循环为什么不阻塞主线程。

第三轮面试

第三轮的时候就是HR进来了,基本上就是谈人生谈理想…


第三家和第四家

这俩家虽然一个为初创公司,一个实力很强劲。但是他们面试很类似,较为随意。
并没有问过多套路性的面试题,而是针对简历上提到的项目进行了深入的询问。
这里就不详细张开了,因为每个人的项目内容都不相同,所以如果遇到这部分就只能靠自己对项目的理解啦。


尾声

以上就是我为期三天的背景面试之旅,本来就是抱着来看一看的心态过来了,所以一切看的比较淡。平常心,是自己的终究是自己了!

最后希望各位看官可以star我的GitHub,三叩九拜,满地打滚求star:
https://github.com/zhiaixinyang/PersonalCollect
https://github.com/zhiaixinyang/MyFirstApp

猜你喜欢

转载自blog.csdn.net/wjzj000/article/details/76032956