第一次Android面试惨痛经历及其总结

终于…终于周五了
来杭州的第三天 经历了三天的残酷面试…
我就来写一下小结吧…提醒自己 也希望给大家增加点经验
第一次Android面试惨痛经历及其总结_第1张图片
首先第一家公司问了我很多基础的问题,但是!!!!!好吧,我承认自己是five(小声BB)…

1.谈谈activity的生命周期?

当时我第一反应,woc?送分题? 然后就巴拉巴拉说了一大堆,毕竟我还写了关于这个的文章呀!
《Android学习之浅谈Activity的生命周期》

但是他接下来的问题,我就有点懵逼了,那Aactivity转跳到Bactivity 它们的生命周期又是怎么样的呢?

我想也不难啊,首先Aactivity肯定执行OnCreate、OnStart、OnResume、OnPause、OnStop

然后Bactivity执行OnCreate、OnStart、OnResume

但是我这里犯了一个错误,OnStop的作用是,当你这个界面完全不可见时,才会执行

所以正确的应该是

Aactivity执行OnCreate、OnStart、OnResume、OnPause
Bactivity执行OnCreate、OnStart、OnResume后,Aactivity才执行OnStop

这时候,我能感觉到面试官对我有点失望。
第一次Android面试惨痛经历及其总结_第2张图片

2.听说你对数据存储比较了解,那你给我说说SharedPreferences的实现流程吧。

呵,尽管我有一道没回答好,这一道简单。
首先调用SharedPreferences对象的edit()方法获取一个SharedPreferences.editor对象…最后apply()方法将数据提交

面试官:说的挺详细,那你能给我说说apply()和commit()的区别吗?
我:??????what ???commit是什么??what’s this??两个单词长得不一样?

这时候,他轻咳了一声,我慌的一批。

后来查阅资料知晓,apply和commit的主要区别是:

apply是先将数据保存在内存中,然后再保存到磁盘上。
commit是直接保存到磁盘上

好吧,这时候他可能不想理我了。
第一次Android面试惨痛经历及其总结_第3张图片
3.说说okHttp吧。
这一次我回答的小心翼翼,生怕出点错。首先添加一个依赖库,之后创建一个okHttpClient实例,这时候如果要想发起一个http请求,就需要创建一个Request请求…

面试官:那你和我说说OkHttp的拦截吧。
我:(这时候我很坦然了)对不起(不会就先道歉),我对这个网络请求框架仅仅是了解,没有实际操作过。
面试官:那今天的面试就到这吧,你可以走了。面试的结果我们后期会通知你。
我:…谢谢

这里就不写相关的拦截器了,毕竟我也没搞懂(手动滑稽),这两天我会专门写一个关于网络请求的文章,和大家一起聊聊OKHttp。

这样第一天的面试就结束了(因为下午才到的杭州,所以就约了一个),其中还有什么多态的定义,单例模式,activity的启动模式什么的,都比较简单,就不说了。

--------------------------------------------------------------手动分隔符---------------------------------------------------------

Day2

昨晚把第一天面试不会的总结了一下,我觉得自己又行了!
第一次Android面试惨痛经历及其总结_第4张图片

但是第一家,刚上门就甩了一份面试题,全是基础的东西…
(yysy,算法这个东西很久没碰以后,真的忘的很快)

1.给你一个字符串,比如aabcdddef,求出出现三次的字符是什么?输出为e。(这题比较简单)

class Bubbling{
    public static void main(String[] args){

        String str1 = "aabcdddef";  

        char s = find(str1);

        System.out.println(s);

    }

    public static char find(String str1){

        int e = 0;

        char[] arr = str1.toCharArray();

        for (char c : arr) {
            for (char value : arr) {
                if (c == value) {
                    e++;
                }
                if (e == 3) {
                    return c;
                }
            }
            e = 0;
        }
        return 0;
    }
}

2.给你两个字符串,比如aadfcds和fcd,求出fcd第一次出现的位置。(kmp算法我给忘了…暴力匹配法走起)

关于kmp算法,我当时也写了一篇文章,感兴趣的可以去看看…

《kmp算法实现思路及其代码演示》

(还有几个我记不得了,反正挺简单的)

做完,提交上去。

面试官:你的笔试题做的比较差,你先回去吧,我们以后再联系。
我:…谢谢您。

当时的我真的很难受,因为我觉得自己大题写的还可以…但是选择、填空有很多二叉树相关的东西,我真的是忘了。(复习重点)

因为下午还有一个面试,住的地方也离得比较远,所以中午所幸不回去了。一个人走在大街上,前往下一个面试地点,感觉很迷茫,自己什么都不会。

第一次Android面试惨痛经历及其总结_第5张图片
Afternoon

下午面试的是一家初创公司,也是上来就先做一个笔试题。这一次我感觉做的比较不错,也都是些很基础的东西。

笔试完就开始和他们的技术主管开始聊,阿巴阿巴说了一大堆…然后和hr开始谈未来规划和薪资方面的一些东西,最后同意给我发offer。

(因为是初创公司,而且公司内部是没有人搞Android开发的,所以面试内容也没有什么营养,就不细说了)

但是我还有很多家面试(嘿嘿) 就委婉的说,能否通融几天,hr也是答应了。

--------------------------------------------------------------手动分隔符---------------------------------------------------------

Day3

今天早上这第一家公司就比较有意思了,必须要求上机测试,而且公司在一家工厂里。

按流程先填完一张表,然后由一个技术人员领我到一个电脑前,说题目就在桌面,你自己找。(感觉态度比较差)
我:???
大丈夫能屈能伸,我先瞄一眼题。
第一次Android面试惨痛经历及其总结_第6张图片

emmmm 看到这道题,我思考了一会,然后…你以为我要开始敲代码了?错,我站了起来!信誓旦旦的说了句:对不起,我不会,打扰了!

我能感觉到整个团队惊愕的眼神。后来也在boss上给他们的经理发了个:本人技术有限,实在不好意思。

其实这个项目,真要做我也是可以做出来的。后来自己写了个,上传到了github,有兴趣的小伙伴可以去看下

Send a text message

但是掉头就走,主要有下面两个原因吧:

  1. 接待人员态度不是很好…(emmm,内心就是这么脆弱),而且公司在一个工厂内…接受不了
  2. 可能是自己想得比较多…为什么一定要按ui给的图画…我是来白打工的??(第一次遇到这种面试…没经验…也不知道这种是不是常态化)

就这样,我刷新了我人生中的一项记录:面试最短时间 5min。

其实这次面试完,心情还算不错的,可能是有offer在手了?

第一次Android面试惨痛经历及其总结_第7张图片

Afternoon

下午来的这一家,在一个挺大的园区。光找公司地址就在园区逛了差不多十分钟…(当然也怪我路痴)
ps:大家一定要学会做时间管理大师…不然之前一个面试完事了,下一个面试要等好久。

首先也是填一张表,然后一个漂亮hr小姐姐带我去一个小房间谈话。主要是聊一些关于生活、学习上的东西,得知我喜欢在csdn上写文章,给我写上了一个热爱学习的标签。我???整个谈话流程还是比较舒服的(可能人家小姐姐长得好看?)接下来就是技术面。

一个穿着人字拖,手拿MacBook的中年大叔就向我走来了,我当时内心的想法是
第一次Android面试惨痛经历及其总结_第8张图片
也是常规的先问了一下activity的生命周期啥的,一大堆基本的东西。然后就开始针对我的简历进行询问,比如知道哪些主流框架等等。

但是很大一部时间,他都在看我的CSDN博客(嘿嘿,多写点文章还是有用的),根据我的文章问一些问题(可能是想确定是不是我写的?)最后还根据我上传到github上的项目进行了一些相关的问答,老老实实说出来就好了。

但是我知道自己有一个缺点:项目经验不足。所以当他说出这点时,我的心里凉了半截。最后面试完,还是常规的回去等通知。

晚上在地铁上收到了hr发来的信息
第一次Android面试惨痛经历及其总结_第9张图片

耶,第二个offer到手。

--------------------------------------------------------------手动分隔符---------------------------------------------------------

终于到周末了,也可以有时间总结一下了(毕竟写博客真的耗时间)。

自身不足:

  1. 基础掌握的还可以,但是细枝末节有待修整。
  2. 对主流框架仅仅只是了解,这一点不够的。
  3. 项目经验不足。

刚好花两天的时间来提升下自己。

这就是我第一阶段面试的全部经历和总结啦~ 希望能帮助到大家

大家如果有什么疑惑,也可以积极给我留言呀!我一定会尽力帮助你们~ 一同成长!

你可能感兴趣的:(面试总结,java,面试,安卓)