登陆

极彩在线平台-春招笔记(二)--2019腾讯移动端面试题及部分参考答案

admin 2019-05-15 345人围观 ,发现0个评论

1.毛遂自荐

2.项目经历

3.Activity 和 Frament比照(为什么要有Fragment)

Fragment 类是在 Honeycomb(译注:蜂巢 3.0 API level 11)发布时被介绍的。它答应咱们把运用组件分解成可重用的部件。Fragment有必要被一个 activity 保管,而一个 activity 能够一次保管一个或多个 fragment。

我刚刚讲过,Honeycomb 发布时引入了 fragments。Honeycomb 版别初次对平板设备供给了正式支撑。fragment 理念的开始方针之一是协助开发者在构建手机和平板运用时供给不同的用户体会。

邮件客户端是用到 fragment 的典型比方,比方 Gmail App。手机版展现了用户的邮件列表,点击其间一个就跳转到展现邮件内容的概况界面。这个进程包含了两个界面,各自独占屏幕。

当用户在平板上运用 Gmail App 时,能够在一个屏幕上一起看到列表界面和概况界面。明显咱们能够在平板上一次显现更多的信息。

Fragments 很简略完结这个功用。列表界面是一个 fragment,概况界面也是一个 fragment。activity 依据屏幕巨细决议显现其间一个或悉数。

Fragments 的高雅之处在于,不需求修正 fragment 类的代码就能够完结上述作业。作为 app 的可重用组件,fragments 能够以恣意多种办法出现给用户

懒加载

懒加载首要用于ViewPager且每页是Fragment的状况,场景为微信主界面,底部有4个tab,当滑到另一个tab时,先显现”正在加载”,过一会才会显现正常界面。

默许状况,ViewPager会缓存当时页和左右相邻的界面。完结懒加载的首要原因是:用户没进入的界面需求有一系列的网络、数据库等耗资源、耗时的操作,预先做这些数据加载是不必要的。

这儿懒加载的完结思路是:用户不行见的界面,只初始化UI,可是不会做任何数据加载。等滑到该页,才会异步做数据加载并更新UI。

这儿就完结相似微信那种作用,整个UI布局为:底部用PagerBottomTabStrip项目完结,上面是ViewPager,运用FragmentPagerAdapter。逻辑为:当用户滑到另一个界面,首先会显现正在加载,等数据加载结束后(这儿用睡觉1秒钟替代)显现正常界面。

4.Handle和Message,MessageQueue,Looper机制

当咱们调用handler.sendMessage(msg)办法发送一个Message时,实际上这个Message是发送到与当时线程绑定的一个MessageQueue中,然后与当时线程绑定的Looper将会不断的从MessageQueue中取出新的Message,调用msg.target.dispathMessage(msg)办法将音讯分发到与Message绑定的handler.handleMessage()办法中。

一个Thread对应多个Handler 一个Thread对应一个Looper和MessageQueue,Handler与Thread同享Looper和MessageQueue。 Message仅仅音讯的载体,将会被发送到与线程绑定的仅有的MessageQueue中,并且被与线程绑定的仅有的Looper分发,被与其本身绑定的Handler消费。

5.说说你了解的规划形式

等等会有专门写规划形式的笔记

6.TCP与UDP差异

TCP协议和UDP协议特性差异总结:

1. TCP协议在传送数据段的时分要给段标号;UDP协议不

2. TCP协议牢靠;UDP协议不行靠

3. TCP协议是面向联接;UDP协议选用无联接

4. TCP协议负载较高,选用虚电路;UDP选用无联接

5. TCP协议的发送方要承认接收方是否收到数据段(3次握手协议)

6. TCP协议选用窗口技能和流操控

7.TCP三次握手和四次挥手

三次握手

A 向 B 发送联接恳求报文,SYN=1,ACK=0,挑选一个初始的序号 x。

B 收到联接恳求报文,假如赞同树立联接,则向 A 发送联接承认报文,SYN=1,ACK=1,承认号为 x+1,一起也挑选一个初始的序号 y。

A 收到 B 的联接承认报文后,还要向 B 宣布承认,承认号为 y+1,序号为 x+1。

B 收到 A 的承认后,联接树立。

四次挥手

8.比照ListView和RecyleView,为什么要用RecyleView

RecyclerView的要点应该放在[flexible]上,灵敏是它[最大]的特色,由于AbsListView的功用完善,所以你想要定制它其实是很困难的,换句话说,AbsLisView现已强耦合了许多和[滑动,收回]无关的功用。这个时分RecyclerView的强壮之处就显现出来了,LayoutManager,Adapter,ItemAnimator,ItemDecoration等等各司其职,这使得RecyclerView能够完结深度的定制化。体系供给的三种LayoutManager能够无缝联接ListView和GridView,瀑布流的完结也变得无分简略。滑动删去和长按交流只需求增加几个类就能够完结。

除此之外,RecyclerView的动画配以部分改写也是它比较超卓的当地,在AbsListView年代,只要一个notifyDatasetChanged办法,想要做部分改写需求自己去完结,动画更是难做,可是在RecyclerView中,有许多适配部分改写的api,还有ItemAnimator这样的神器去支撑动画,谁用谁知道。

至于点击作业,我在想Google将RecyclerView取名叫这个姓名的原因便是想让这个组件只重视[Recycle],关于极彩在线平台-春招笔记(二)--2019腾讯移动端面试题及部分参考答案点击作业,在ViewHolder中增加是垂手可得的事,封装起来也不难,并且假如把这个逻辑写在组件内部,它的position和动画将会比较难处理,AbsListView里就花了比较多的精力去处理这一方面的逻辑。此外,在咱们运用ListView的进程中,假如item中有可点击组件,例如button,那么点击作业的抵触也是一个让开发者很烦恼的作业,可是RecyclerView的优点便是把点击作业的操控权彻底的交给开发者,极彩在线平台-春招笔记(二)--2019腾讯移动端面试题及部分参考答案避免了这样的苦楚。

最终,RecyclerView天然生成支撑嵌套滑动,能够很好的合作NestedScrollView或许CoordinatorLayout,而AbsListView则是需求在必定的版别上才支撑这个机制,这也算是RV的一个优势吧。

9.你对数据结构的了解 HashMap 比照 链表 行列 数组

HashM极彩在线平台-春招笔记(二)--2019腾讯移动端面试题及部分参考答案ap是根据hashing的原理,

HashMap的作业极彩在线平台-春招笔记(二)--2019腾讯移动端面试题及部分参考答案原理

HashMap根据hashing原理,咱们经过put()和get()办法贮存和获取目标。当咱们将键值对传递给put()办法时,它调用键目标的hashCode()办法来核算hashcode,让后找到bucket方位来贮存值目标。当获取目标时,经过键目标的equals()办法找到正确的键值对,然后返回值目标。HashMap运用链表来处理磕碰问题,当发作磕碰了,目标将会贮存在链表的下一个节点中。 HashMap在每个链表节点中贮存键值对目标。

当两个不同的键目标的hashcode相一起会发作什么? 它们会贮存在同一个bucket方位的链表中。键目标的equals()办法用来找到键值对。

由于HashMap的优点十分多,我曾经在电子商务的运用中运用HashMap作为缓存。由于金融范畴十分多的运用Java,也出于功能的考虑,咱们会经常用到HashMap和ConcurrentHashMap。你能够检查更多的关于HashMap的文章:

http://www.importnew.com/7099.html

https://zhuanlan.zhihu.com/p/31610616

10.如何用两个行列来完结一个栈

https://blog.csdn.net/ns_code/article/details/25076689

11.逻辑题:七个水 一瓶有毒药 有三只兔子能够用来试验来找出毒药 怎样找

000 001 010 011 100 101 110 111

1号兔子喝 1 3仰望星空 5 7

2号兔子喝 2 3 6 7

3号喝 4 5 6 7

12.你有什么想问的?

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP