一面:
1. 项目
2. 字符串逆序,“I am a man”“ man a am i”,剑指offer上给的是c++,先全部逆序,然后再单词分割逆序,其实java里有stringbuild所以可以倒着拼接,所以不用逆序两次。
3. 通信协议除了用序列化还能用什么,其实应该可以用json和xml等,序列化的好处和坏处。
二面:
1. 多线程熟悉不,一个队列里的task有序,多个线程执行后,还能保证有序,怎么实现。我回答说可以用CountDownLatch来实现门闩或者闸门效果来同步,他说不对,说用优先级队列也不对,最后忘记问答案了。
2. 青蛙从一口深8米的井里,白天跳三米,晚上下滑一米,怎么用面向对象来描述解决问题。我说青蛙和井都是都是具体类,他们可以都有一个抽象父类,适用不同场景,青蛙有一个属性是移动距离,和两个方法一个是up和一个down,井有一个深度属性,另外还有一个具体时间类。他们关系是青蛙和井是关联关系,青蛙的方法和时间类是依赖关系。然后问聚合和组合的区别,代码怎么表示,真心不是很会,说了组合是整体和部分的关系,所以可以用内部类来表示,聚合是弱的拥有关系,不是包含,可以用类的属性是另外一个类的对象来表示。
3. 开源框架知道那些,说了imageloader和pulltorefresh,但是不熟,说不好。
4. Java8的垃圾回收的不同,metaspace和perspace的区别
5. Tcp/udp了解什么,NIO知道那些开源框架。NIO2知道不,就是异步IO。
想做android什么方面,框架层,不是架构师
转载请注明原文地址: https://ju.6miu.com/read-3156.html