美文网首页半栈工程师Android 面试专辑Android面试
安卓程序员记欢聚时代的一次面试

安卓程序员记欢聚时代的一次面试

作者: 望北8261 | 来源:发表于2018-07-13 14:38 被阅读376次

    昨天去欢聚时代面试了,总的来说回答的很不完美,基本上没戏了,在这里记录一下吧,想的起多少就写多少。

    28楼前台签到

    本人已经辞职了,但是公司不让马上走,要等30天,然后我在BOSS直聘APP上登录了一下,更新了一下简历,本想着等离开了公司就开始投简历,没想到当天就收到一大堆的求简历。第二天也是一大堆,然后看到了欢聚时代,有点惊讶,我以为像欢聚时代这样的大公司是不会主动这样求简历的,但事实就是这样,然后就把简历发过去了。这里不是打广告,是真心的觉得BOSS直聘挺好的。

    过了几天,接到欢聚时代HR的电话预约面试,还是很惊喜的。昨天下午面试,虽然准备的不是很充分,但是去看看也是好的,请个假大大好几百,肉疼。

    没有提前到公司,是踩点的,不幸的真的找不到公司,万达广场太大了,问了半天终于找到B1栋在哪里了,然后等电梯,28楼,也是等了很久,足足迟到了20分钟。所以以后面试不要踩点了,尽量早半个钟到吧,撒个尿也是好的。

    到了前台,扫二维码签到,然后到旁边的大厅填写资料,是在手机上填的。大厅上很多人,应该都是在面试的吧,瞬间觉得没希望了,就是这么负能量哈哈,但是来之安之吧。填资料也是很坑,面试我一般不会填身份证的,但YY要求必填。。。然后我就填了18个X。然后是学习经历,随便填了一下。然后是工作经历,也随便填了一下,有一项是直接上司和手机号码,必填。。。我们平时都是钉钉沟通了,实在不知道号码。。。乱填了一番。最后是项目经验,这个这个。。。不可能现场写的了,这辈子都不可能的,抄的话也不可能,太多了,也罢,不写了,直接跳过。

    这么多人我以为要等很久,结果就几分钟,一个胖纸叫我去面试了,明显感觉到大家羡慕的目光哈哈,他们等了辣么久,我刚来啊哈哈。胖纸带我转了一圈,想找个房间,结果都有人了。这里得赞一下YY的这种接待室,应该有十几个吧,半透明的小房间,圆的方的什么造型都有,里面就一张桌子和几张凳子沙发什么的。再等了几分钟,可以开房了。

    没有笔试。
    居然没有笔试。
    没有想到没有笔试。

    自我介绍,随便说了一下,自己都觉得语无伦次,渣的一批,可是胖纸挺好,适度插嘴,我就喜欢他插嘴,因为我也不知道往下还有什么说的哈哈。然后胖纸看着我的简历,一边问问题,一边记笔记,还是很认真的,虽然我回答的很表面,他有时候也会深入一点问原理什么的,我大多都答不上来,但是胖纸很和蔼,气氛依然很好,我答不上来的我偶尔还会反问他,他也跟我说了。

    输出什么
    String s = "hello";
    
    public void test(String s) {
      s = "world";
    }
    
    test(s);
    System.out.println(s);
    

    胖纸手写的代码,我一看这个就说输入hello了,然后胖纸说为什么,我一下子居然答不上来,如果传入的是一个普通对象的话,那传入的就是引用了,值是会变的,但是这个是String,这个东西我一直有点怕。最后胖纸跟我说这个String保存的是值,传入方法中的是值,而不是引用,所以不会改变外面那个s的值。

    multiDex的原理是什么

    一脸懵逼,我只知道这是分包用的,只会用不知道原理。

    简历上说封装了某某View,你是怎么封装的

    怎么封装的,不知道从哪里开始说起啊

    你是怎么自定义View的

    我也不知道怎么说啊,就叫胖纸举个具体的例子。然后胖纸说如果自定义一个闹钟界面,我大概说了一下继承View,在onMeasure中测量大小,在onDraw中绘画闹钟。然后胖纸说就这么简单?在onMeasure中是怎么测量大小的?

    Android的事件传递机制什么什么样的

    这些问题我感觉我是说不清楚的,用笔画图还可以说清楚,当时又没带笔,然后就大概说了一通,事件从根节点的dispatchTouchEvent分发,开始传递,可以用onInterceptTouchEvent拦截,子View也可以反驳拦截,有个反驳的API,忘了叫什么了,如果没有拦截,那就继续传递给子View,在onTouchEvent可以监听,返回true消费掉事件。这个传递机制我自认为是比较了解的了,但是口头描述不清楚。

    Handler的机制

    Handler负责发送消息,和处理消息,创建Handler的时候需要传入一个Looper,Looper维护着一个消息队列MessageQueue,Looper不断循环从消息队列里拿到消息交给Handler处理。如果需要在子线程维护一个消息队列的话,需要在子线程调用Looper.prepare初始化,然后Looper.loop开始循环读取消息。

    然后胖纸问,如果new Handler的时候不传入Looper,那么Looper是怎么来的,我说在哪个线程new的Handler,就拿哪个线程的Looper,如果是子线程的话需要先Looper.prepare初始化一下,胖纸也懵逼了,应该他不是想问这个,然后我只好说没看过源码不清楚了。然后胖纸又问:主线程的Looper怎么拿的,我:Looper.getMainLooper,胖纸:子线程的Looper又是怎么拿的,我:Looper.myLooper,然后胖纸想了半天,有myLooper这个东西么,说到我也不确定有没有了。。。

    // Handler的部分源码
    public Handler() {
        this(null, false);
    }
    
    public Handler(Callback callback, boolean async) {
        // ...
        // 没有传入Looper的时候的确是调用了Looper.myLooper()获取。
        // 而且当前线程必须先调用Looper.prepare()
        mLooper = Looper.myLooper();
        if (mLooper == null) {
            throw new RuntimeException(
                "Can't create handler inside thread that has not called Looper.prepare()");
        }
        // ...
    }
    
    Java内存管理
    Java垃圾回收机制
    Activity的singleTop和singleTask的区别

    这个我还是比较清楚的,还有singleInstance我也说了一遍。

    Service的两种启动模式有什么区别

    startService和bindService的区别我也是比较清楚的,也说了一遍,然后他深入的问。。。

    Service的onStartCommand的几种返回值有什么区别

    一脸懵逼。我只是隐约记得有个什么STICKY,粘性的,还有什么忘了,有什么区别,也忘了。

    没有了,想不起来了

    其它的想不起来了,就酱紫了。
    差不多走的时候,胖纸突然说面试会有好几轮,叫我慢慢等,不知道他是什么意思,我认为我应该是直接PASS掉的了,那就没有下面的轮了,也没必要跟我说还有好几轮了,我就随便问了一下每轮相隔时间会不会是一个月,胖纸说要排队看情况,走人。

    相关文章

      网友评论

      • d16b48817da9:我这简历在boss上挂了2周了 都没人搭理啊 你是 怎么做到的 有人找的啊 现在是不是招聘安卓的人很少啊 感觉招聘全是Java的 招聘安卓的好少啊
        望北8261:可能你简历不太好吧,我也不清楚,我的挂上去每天都有很多HR找我
      • 命若弦_T:面试的有15K么
        d16b48817da9:@命若弦_T 北京 现在 15k以上的也不好难啊 普通 211的 15年毕业的
        命若弦_T:@洋洋_de7e 看什么地方了
        d16b48817da9:存做安卓 15k比较难吧
      • 4d3f4f204ca2:你好!我想问一下简历投过去之后一般多久会通知面试?我怎么感觉我的简历投过去石沉大海了。
        望北8261:@90sProgrammer 没啥建议,复习好,不遗憾就行
        4d3f4f204ca2:@追意狂人 刚收到电话去面试,楼主有啥面试建议?
        望北8261:我的就两三天给我电话约面试了,石沉大海了可能是你简历要优化一下
      • 江南西柒叁:小哥 有没有下一次面试啊 小弟下个礼拜也要去面 有点慌
        望北8261:@鼓楼先生_v 一边面一边准备啊,不要停太久就是了
        江南西柒叁:@追意狂人 小弟也没有下一轮了 没准备好…
        望北8261:你看我写的内容就知道啦,没有下一轮的了。
        但是,后来我又投了简历,然后又去面试了:joy: 一个公司里面会有好多个项目组在招人,所以你们可以也酱紫玩一下

      本文标题:安卓程序员记欢聚时代的一次面试

      本文链接:https://www.haomeiwen.com/subject/qqhjpftx.html