滴滴安卓一面 许愿二面快快来拜托拜托

自我介绍
问项目(我按照简历来介绍的)
请问你了解同步和异步机制吗?
天啊,开局就说错了 把他们两说反了 然后在面试官的引导下回到正途
同步是先执行A再执行B
异步是同时执行的
你项目中是怎么做的?
先执行完网络通信再进行页面跳转
怎么自定义一个viewFlipper?
可能要得到它的坐标位置,然后改动坐标位置?不是很懂
handle机制知不知道?
讲了一通Intent,然后面试官说等等在说啥,我说不好意思handle对吧,然后我就说了handle机制主要是messagequeue和looper,当有消息来的时候把它放到messagequeue里面。。。巴拉巴拉
看来handle机制你还有所了解?那你知道handle是什么通信吗?
进程吧
那你知道进程和线程的区别吗?
进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程是操作系统能够进行运算调度的最小单位。被包含在进程中,是进程的实际运作单位。
还想继续说面试官说我基本了解了
那如果按照你这样说的handle是进程通信的话,一个app就是一个进程,他们是app之间通信?
Handle是线程通信
接下来要不说下java吧?
可是我项目还没说完(正说完简历的第二条),接下来主要是跟界面相关,说了个viewflipper
如果要你自己实现viewflipper你怎么实现?
哭,给自己挖坑,大概是也要先获得相应控件的位置坐标点然后看大小进行一个位置的改变(纯属瞎编乱造,被发现了qwq)
接下来应该要说的都是控件方面的了吧,那就不说啦,先说下面向对象吧?
面向对象的三大特性是多态、封装、继承
继承的意思呢就是儿子得到爸爸的所有遗产,子类可以得到父类的方法和功能
封装就是把数据和对数据的操作封装程一个类
多态分为继承时多态和运行时多态,体现在重写和重载两个方法。
重写和重载的区别是:1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
重载
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
父类的Private不能被重写也不能被重载
那多态是怎么体现的?如果我父类和子类中都有add方法,我是子类对象调用add方法,调用的是子类还是父类?
子类
那怎么体现多态呢?我怎么才可以调用父类方法?
不知道 (面试官说是super,我说super不是继承爸爸的方法什么的嘛,他说他也就想到了这个,不要纠结这么多,下一个)
hashset和set说下?
请问我要说hashset还是set呢?
那你说下hashset和其他容器?
HashSet是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素。相关HashSet的操作基本上都是直接调用底层HashMap的相关方法,HashSet不允许有重复的值。
ArrayList是动态数组的数据结构实现,而LinkedList是双向列表的数据结构实现(我需要说底层实现吗?面试官残忍的拒绝了我发挥)
Hashset和set都是实现collection接口
抽象类和接口的区别?
抽象类由于是类,只能继承一个类,而接口可以有多个接口(面试官又出现了,我还没说完呢,面试官说我懂了,那你说下为什么要有他们两)
因为如果我们两在写代码,你写抽象类,然而你写的抽象类不够我需要的,你就得改,但是接口就不一样了,你不够我再去别人那里拿就好了)
那接下来写个算法题吧,整数215变成512?
开始以为是字符串倒序,然后我说有种很蠢的办法就是第一遍先遍历有多少个数,然后再倒序,哦不对这是整数,整数的话可以除10取余
那如果是个n位数呢?
我以为面试官要我用其他办法,没想到也是除10取余,只是要我加两个条件,循环逻辑和循环内部操作,我跟他说用for循环,然后他否定了我,他给的方法也是循环,只是比如215取余后是 5 1 2,先用5*10+1再下一次再用这个值(5*10+1)*10+2(后来看了下反转要考虑边界条件还要考虑循环的逻辑)
那今天就到这里吧。有什么要问的吗?
有个不好意思的问题:请问你觉得针对今天的面试,我需要在哪方面努力?
我只针对面试,不针对结果来提出意见,就是希望你比如同步异步这种啊还有handle这种要了解的更深一点,还有view绘制。
还有个问题,更不太好意思,请问我有下次面试吗?
这个我还要跟我们领导商量下,如果可以的话,下周会有HR跟你联系
...............分割线
可是学长给我分析了一下说我可能不会有二面了 可是我真的好想去滴滴呀 而且感觉我虽然答的不太好QwQ 但是也几乎答出来了 55555给我一份offer吧
#滴滴##校招##面经##安卓工程师#
全部评论
楼主啥时候投的
点赞 回复
分享
发布于 2020-04-20 09:46
楼主在哪投的呀,我怎么找不到滴滴招Android的
点赞 回复
分享
发布于 2020-04-20 10:30
联易融
校招火热招聘中
官网直投
我要哭了,看见朋友你的,仿佛看见我第一次面美团 android 时,那忐忑的样子
点赞 回复
分享
发布于 2020-04-21 10:44

相关推荐

1.Java里Int占用几个字节?取值范围是多少?答:Java中int占4个字节,也就是32位。int的取值范围就是 [10000000 00000000 00000000 00000000 , 01111111 11111111 11111111 11111111],是补码,正数的补码和原码一样,负数的原码是补码的所有非符号位取反+1,int是有符号整数,第一位是符号位。所以最大值+2^31-1,最小值-2^31-1+1=-2^31。2.什么场景下会用接口,或者使用接口的意义是什么?答:1.多态性实现:接口允许Java等面向对象编程语言实现多态性。一个类可以实现多个接口,这意味着它可以有多种形态或行为。2.解耦:通过接口,可以定义一组方法而不实现它们,这允许我们编写灵活且松耦合的代码。具体实现可以在不影响使用接口的客户端代码的情况下更改。3.规范制定:接口定义了一组规则或契约,所有实现该接口的类都必须遵守这些规则。这有助于确保所有实现了特定接口的类都有共同的方法和行为。3.Integer i1=100,i2=100,i3=200,i4=200  请问i1==i2 ?  i3==i4?    答:true,false。由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来。 4.父类 obj = new 子类()  obj的类型是父类还是子类呢?obj.method是父类的方法还是子类的?答:子类。obj 是父类的引用,指向了一个子类对象。子类没有重写的父类中的方法obj 会调用父类中没有被重写的方法,当被重写时会调用子类中的方法。父类 obj = new 子类 可以,子类 obj = new 父类不可以!猫黑猫的关系!
点赞 评论 收藏
转发
点赞 7 评论
分享
牛客网
牛客企业服务