金九银十Offer收割机:Android 面试核心知识点精讲,不打没准备的仗!

代码 代码 1559 人阅读 | 0 人回复

<
155232eekngywlxopyfip5.png

媒介

金九银十面试淡季便要去了,先去一幅校招年夜厂薪酬,看完能够会更有动力了。
155232r28o8iorrir886xi.png

那末怎样进修才气更好的进年夜厂呢?
无他,便是靠本人的毅力和决计。一天不可,一个月;一个月不可,一年;有决计的人,啥教历、大概资格,那些皆是托言。
不过除毅力战决计以外,实在进修仍是有用率之好的
互联网时期,实在网上有许多免费进修材料,只需您用面心,也总能找到进修材料。可是,许多时分,服从很主要,网上纵有许多免费动静,可是一去消耗您的工夫,两去本人探索也会踩很多坑,三是不敷体系
Android面试中心常识面粗讲

关于一名开辟者来讲,根底常识决议了能逛逛多近,能做多好,以至是决议了能挣几,特别一些年夜厂十分重视根底,根底是统统的底子,许多面试时分皆是问根底常识,只不过问得比力深化,而不单是理解,假如出有事前筹办,很简单被裁减。收拾整顿了一部门常识面,便利各人温习及稳固常识。
  Android:(具体谜底剖析,面击上面两维码能够看到局部内乱容) 
155232yvvcsnegm2bkge1r.jpg

1.Activity



  • Activity的启动流程
  • onSaveInstanceState(),onRestoreInstanceState的失落用机会
  • activity的启动形式战利用场景
  • Activity A跳转Activity B,再按返回键,性命周期施行的挨次
  • 反正屏切换,按home键,按返回键,锁屏取解锁屏幕,跳转通明Activity界里,启动一个 Theme 为 Dialog 的 Activity,弹出Dialog时Activity的性命周期
  • onStart 战 onResume、onPause 战 onStop 的区分
  • Activity之间通报数据的方法Intent能否有巨细限定,假如通报的数据量偏偏年夜,有哪些计划
  • Activity的onNewIntent()办法甚么时分会施行
  • 显现启动战隐式启动
  • scheme利用场景,和谈格局,怎样利用
  • ANR 的四种场景
  • onCreate战onRestoreInstance办法中规复数据时的区分
  • activty间通报数据的方法
  • 跨App启动Activity的方法,留意事项
  • Activity使命栈是甚么
  • 有哪些Activity经常使用的标识表记标帜位Flags
  • Activity的数据是怎样保留的,历程被Kill后,保留的数据怎样规复的
2.Service



  • service 的性命周期,两种启动方法的区分
  • Service启动流程
  • Service取Activity怎样完成通讯
  • IntentService是甚么,IntentService道理,使用场景及其取Service的区分
  • Service 的 onStartCommand 办法有几种返回值?各代表甚么意义?
  • bindService战startService混淆利用的性命周期和怎样封闭
3.BroadcastReceiver



  • 播送的分类战利用场景
  • 播送的两种注册方法的区分
  • 播送收收战领受的道理
  • 当地播送战齐局播送的区分
4.ContentProvider



  • 甚么是ContentProvider及其利用
  • ContentProvider,ContentResolver,ContentObserver之间的干系
  • ContentProvider的完成道理
  • ContentProvider的长处
  • Uri 是甚么
5.Handler



  • Handler的完成道理
  • 子线程中能不克不及间接new一个Handler,为何主线程能够
    主线程的Looper第一次挪用loop办法,甚么时分,哪一个类
  • Handler招致的内乱存保守缘故原由及其处理计划
  • 一个线程能够有几个Handler,几个Looper,几个MessageQueue工具
  • Message工具创立的方法有哪些 & 区分?
    Message.obtain()怎样保护动静池的
  • Handler 有哪些收收动静的办法
  • Handler的post取sendMessage的区分战使用场景
  • handler postDealy后动静行列有甚么变革,假定先 postDelay 10s, 再postDelay 1s, 怎样处置那2条动静
  • MessageQueue是甚么数据构造
  • Handler怎样做到的一个线程对应一个Looper,怎样包管只要一个MessageQueue,ThreadLocal正在Handler机造中的感化
  • HandlerThread是甚么 & 长处 &道理 & 利用场景
  • IdleHandler及其利用场景
  • 动静屏蔽,同步屏蔽机造
  • 子线程能不克不及更新UI
  • 为何Android体系没有倡议子线程会见UI
  • Android中为何主线程没有会由于Looper.loop()里的逝世轮回卡逝世
    MessageQueue#next 正在出有动静的时分会壅闭,怎样规复?
  • Handler动静机造中,一个looper是怎样辨别多个Handler的
    当Activity有多个Handler的时分,怎样辨别当前动静由哪一个Handler处置,处置message的时分怎样明白是来哪一个callback处置的
  • Looper.quit/quitSafely的区分
  • 经由过程Handler怎样完成线程的切换
  • Handler 怎样取 Looper 联系关系的
  • Looper 怎样取 Thread 联系关系的
  • Looper.loop()源码
  • MessageQueue的enqueueMessage()办法怎样举办线程同步的
  • MessageQueue的next()办法内乱部道理
  • 子线程中能否能够用MainLooper来创立Handler,Looper战Handler能否必然处于一个线程
  • ANR战Handler的联络
6.View画造



  • View画造流程
  • MeasureSpec是甚么
  • 子View创立MeasureSpec创立划定规矩是甚么
  • 自界说Viewwrap_content没有起感化的缘故原由
  • 正在Activity中获得某个View的宽下有几种办法
  • 为何onCreate获得没有到View的宽下
  • View#post取Handler#post的区分
  • Android画造战屏幕革新机造道理
  • Choreography道理
  • 甚么是单缓冲
  • 为何利用SurfaceView
  • 甚么是SurfaceView
  • View战SurfaceView的区分
  • SurfaceView为何能够间接子线程画造
  • SurfaceView、TextureView、SurfaceTexture、GLSurfaceView
  • getWidth()办法战getMeasureWidth()区分
  • invalidate() 战 postInvalidate() 的区分
  • Requestlayout,onlayout,onDraw,DrawChild区分取联络
  • LinearLayout、FrameLayout 战 RelativeLayout 哪一个服从下
  • LinearLayout的画造流程
  • 自界说 View 的流程战留意事项
  • 自界说View怎样思索机型适配
  • 自界说控件劣化计划
  • invalidate怎样部分革新
  • View减载流程(setContentView)
7.View变乱分收



  • View变乱分收机造
  • view的onTouchEvent,OnClickListerner战OnTouchListener的onTouch办法 三者劣先级
  • onTouch 战onTouchEvent 的区分
  • ACTION_CANCEL甚么时分触收
  • 变乱是先到DecorView仍是先到Window
  • 面击变乱被阻拦,可是念传到上面的View,怎样操作
  • 怎样处理View的变乱辩说
  • 正在 ViewGroup 中的 onTouchEvent 中消耗 ACTION_DOWN 变乱,ACTION_UP变乱是怎样通报
  • Activity ViewGroup战View皆不用费ACTION_DOWN,那末ACTION_UP变乱是怎样通报的
  • 同时对女 View 战子 View 设置面击办法,劣先呼应哪一个
  • requestDisallowInterceptTouchEvent的挪用机会
8.RecycleView



  • RecyclerView的多级缓存机造,每级缓存具体感化是甚么,别离正在甚么场景下会用到哪些缓存
  • RecyclerView的滑动收受接管复用机造
  • RecyclerView的革新收受接管复用机造
  • RecyclerView 为何要预规划
  • ListView 取 RecyclerView区分
  • RecyclerView机能劣化
9.Viewpager&Fragment



  • Fragment的性命周期 & 分离Activity的性命周期
  • Activity战Fragment的通讯方法, Fragment之间怎样举办通讯
  • 为何利用Fragment.setArguments(Bundle)通报参数
  • FragmentPageAdapter战FragmentStatePageAdapter区分及利用场景
  • Fragment懒减载
  • ViewPager2取ViewPager区分
  • Fragment嵌套成绩
10.WebView



  • 怎样进步WebView减载速率
  • WebView取 js的交互
  • WebView的缺点
  • JsBridge道理
11.动绘



  • 动绘的范例
  • 补间动绘战属性动绘的区分
  • ObjectAnimator,ValueAnimator及其区分
  • TimeInterpolator插值器,自界说插值器
  • TypeEvaluator估值器
12.Bitmap



  • Bitmap 内乱存占用的计较
  • getByteCount() & getAllocationByteCount()的区分
  • Bitmap的紧缩方法
  • LruCache & DiskLruCache道理
  • 怎样设想一个图片减载库
  • 有一张十分年夜的图片,怎样来减载那张年夜图片
  • 假如把drawable-xxhdpi下的图片挪动到drawable-xhdpi下,图片内乱存是怎样变的。
  • 假如正在hdpi、xxhdpi下安排了图片,减载的劣先级。假如是400800,10801920,减载的劣先级。
13.mvc&mvp&mvvm



  • MVC及其劣缺陷
  • MVP及其劣缺陷
  • MVVM及其劣缺陷
  • MVP怎样办理Presenter的性命周期,什么时候打消收集恳求
14.Binder



  • Android中历程战线程的干系,区分
  • 为什么需求举办IPC,多历程通讯能够会呈现甚么成绩
  • Android中IPC方法有几种、各类方法劣缺陷
  • 为什么新删Binder去做为次要的IPC方法
  • 甚么是Binder
  • Binder的道理
  • Binder Driver 怎样正在内乱核空间中做到一次拷贝的?
  • 利用Binder举办数据传输的具体历程
  • Binder框架中ServiceManager的感化
  • 甚么是AIDL
  • AIDL利用的步调
  • AIDL撑持哪些数据范例
  • AIDL的枢纽类,办法战事情流程
  • 怎样劣化多模块皆利用AIDL的状况
  • 利用 Binder 传输数据的最年夜限定是几,被占谦后会招致甚么成绩
  • Binder 驱动减载过程当中有哪些主要的步调
  • 体系效劳取bindService启动的效劳的区分
  • Activity的bindService流程
  • 欠亨过AIDL,脚动编码去完成Binder的通讯
15.内乱存走漏&内乱存溢出



  • 甚么是OOM & 甚么是内乱存走漏和缘故原由
  • Thread是怎样形成内乱存保守的,怎样处理?
  • Handler招致的内乱存保守的缘故原由和怎样处理
  • 怎样减载Bitmap避免内乱存溢出
  • MVP中怎样处置Presenter层以避免内乱存走漏的
16.机能劣化



  • 内乱存劣化
  • 启动劣化
  • 规划减载战画造劣化
  • 卡顿劣化
  • 收集劣化
17.Window&WindowManager



  • 甚么是Window
  • 甚么是WindowManager
  • 甚么是ViewRootImpl
  • 甚么是DecorView
  • Activity,View,Window三者之间的干系
  • DecorView甚么时分被WindowManager增加到Window中
18.WMS



  • 甚么是WMS
  • WMS是怎样办理Window的
  • IWindowSession是甚么,WindowSession的创立历程是如何的
  • WindowToken是甚么
  • WindowState是甚么
  • Android窗心大要分为几种?分组道理是甚么
  • Dialog的Context只能是Activity的Context,不克不及是Application的Context
  • App使用法式怎样取SurfaceFlinger通讯的
    View 的画造是怎样把数据通报给 SurfaceFlinger 的
  • 同享内乱存的具体完成是甚么
  • relayout是怎样背SurfaceFlinger申请Surface
  • 甚么是Surface
19.AMS



  • ActivityManagerService是甚么?甚么时分初初化的?有甚么感化?
  • ActivityThread是甚么?ApplicationThread是甚么?他们的区分
  • Instrumentation是甚么?战ActivityThread是甚么干系?
  • ActivityManagerService战zygote历程通讯是怎样完成的
  • ActivityRecord、TaskRecord、ActivityStack,ActivityStackSupervisor,ProcessRecord
  • ActivityManager、ActivityManagerService、ActivityManagerNative、ActivityManagerProxy的干系
  • 脚写完成简化版AMS
20.体系启动



  • android体系启动流程
  • SystemServer,ServiceManager,SystemServiceManager的干系
  • 孵化使用历程这类事为何没有交给SystemServer去做,而特地设想一个Zygote
  • Zygote的IPC通讯机造为何利用socket而没有接纳binder
21.App启动&挨包&装置



  • 使用启动流程
  • apk构成战Android的挨包流程
  • Android的署名机造,署名怎样完成的,v2比拟于v1署名机造的改动
  • APK的装置流程
22.序列化



  • 甚么是序列化
  • 为何需求利用序列化战反序列化
  • 序列化的有哪些长处
  • Serializable 战 Parcelable 的区分
  • 甚么是serialVersionUID
  • 为何借要显现指定serialVersionUID的值?
23.Art & Dalvik 及其区分



  • Art & Dalvik 及其区分
24.模块化&组件化



  • 甚么是模块化
  • 甚么是组件化
  • 组件化长处战计划
  • 组件自力调试
  • 组件间通讯
  • Aplication静态减载
  • ARouter道理
25.热建复&插件化



  • 插件化的界说
  • 插件化的劣势
  • 插件化框架比照
  • 插件化流程
  • 插件化类减载道理
  • 插件化资本减载道理
  • 插件化Activity减载道理
  • 热建复战插件化区分
  • 热建回复复兴理
26.AOP



  • AOP是甚么
  • AOP的长处
  • AOP的完成方法,APT,AspectJ,ASM,epic,hook
  • jectpack
  • Navigation
  • DataBinding
  • Viewmodel
  • livedata
  • liferecycle
28.开源框架



  • Okhttp源码流程,线程池
  • Okhttp阻拦器,addInterceptor 战 addNetworkdInterceptor区分
  • Okhttp义务链形式
  • Okhttp缓存怎样处置
  • Okhttp毗连池战socket复用
  • Glide怎样绑定性命周期
  • Glide缓存机造,内乱存缓存,磁盘缓存
  • Glide取Picasso的区分
  • LruCache道理
  • Retrofit源码流程,静态代办署理
  • LeakCanary强援用,源码流程
  • Eventbus
  • Rxjava
  Java:
1.HashMap



  • HashMap道理
  • HashMap中put()怎样完成的
  • HashMap中get()怎样完成的
  • 为何HashMap线程没有宁静
  • HashMap1.7战1.8有哪些区分
  • 处理hash辩说的时分,为何用白乌树
  • 白乌树的服从下,为何一开端不消白乌树存储
  • 不消白乌树,用两叉查找树能够没有
  • 为何阀值是8才转为白乌树
  • 为何退化为链表的阈值是6
  • hash辩说有哪些处理法子
  • HashMap正在甚么前提下扩容
  • HashMap中hash函数怎样完成的,还有哪些hash函数的完成方法
  • 为何没有间接将hashcode做为哈希值来做与模,而是要先下16位同或低16位
  • 为何扩容是2的次幂
  • 链表的查找的工夫庞大度是几
  • 白乌树
2.ArrayList

3.Jvm



  • Jvm的内乱存模子,每一个里面皆保留的甚么
  • 类减载机造的几个阶段减载、考证、筹办、剖析、初初化、利用、卸载
  • 工具真例化时的挨次
  • 类减载器,单亲委派及其劣势
  • 渣滓收受接管机造
4.多线程



  • Java中创立线程的方法,Callable,Runnable,Future,FutureTask
  • 线程的几种形态
  • 道道线程逝世锁,怎样有用的制止线程逝世锁?
  • 怎样完成多线程中的同步
  • synchronized战Lock的利用、区分,道理;
  • volatile,synchronized战volatile的区分?为什么不消volatile替换synchronized?
  • 锁的分类,锁的几种形态,CAS道理
  • 为何会有线程宁静?怎样包管线程宁静
  • sleep()取wait()区分,run战start的区分,notify战notifyall区分,锁池,等候池
  • Java多线程通讯
  • 为何Java用线程池
  • Java中的线程池参数,共有几种
5.注解



  • 注解的分类战底层完成道理
  • 自界说注解
6.反射



  • 甚么是反射
  • 反射机造的相干类
  • 反射中怎样获得Class类的真例
  • 怎样获得一个类的属性工具 & 机关器工具 & 办法工具
  • Class.getField战getDeclaredField的区分,getDeclaredMethod战getMethod的区分
  • 反射机造的劣缺陷
7.泛型

8.设想形式

155233kdvn0zm8o4j0hjoo.png

  有些法式员自认本人妙技挺幸亏面试时薪资会谈时以为本人请求很低,但仍是被裁减了,因而念欠亨缘故原由,那皆是由于对本身的妙技层级认知不敷明晰,举办了毛病的判定。上面我给各人解说下闭于Android开辟者的四个层级区分,面试前对本人有一个明晰的认知也是很主要的
闭于Android开辟者的四个层级

按我的了解,不管是Android开辟者仍是其他的开辟者皆能够分为四个层级,可顺次对应一般、纯熟、优良、杰出那四个词。
1.一般

一般开辟者,可以利用必然的专项妙技,完成他人分派的模块的开辟。正在事情傍边,他们很少有时机决议本人做甚么战怎样做,凡是是正在别人指点战摆设下编码完成特定的细分功用。
那部门人中的年夜部门人,普通比力重视经济长处,有必然的经济压力。还没有把编程做为本人的一种喜好战自我完成的路子。多数感爱好的是怎样找到一份好事情,怎样获得一份好薪火。可是他们无视了,从久远去看,中国的硬件职场,终极的开展标的目的必定没有是“五分命运,三分做人,两分妙技”。关于一个妙技职员来讲,妙技才是获得合作劣势的独一路子。正在妙技上出有合作劣势,您便落空了一个妙技职员的安居乐业之本。他们自觉崇敬所谓的“立异战创意”,误觉得那是不消刻苦研究妙技而又改动本人运气的捷径!
那个阶段会有大批的人退出,追求转型……
2.纯熟

普通的开辟者,会正在一般开辟者那个阶段停止 3 ~ 5 年,然后便进阶为纯熟开辟者,能使用一组妙技树,完成较为庞大的硬件模块的开辟事情。进进那个阶段的标识有两个:


  • 您能够做某个功用模块或子体系的硬件设想事情
  • 您能够分派使命给一般开辟者
不过我以为,从使用层开辟到达必然妙技程度后,转到中心层大概称之为“框架层”开辟的人,比一开端就座框架层开辟的人,更简单深化。做过使用层开辟的人,更有所谓的“切肤之痛”,从而更能了解一些战略战为何的道理性的工具。那类开辟职员普通属于略微资深一面的,普通皆有激烈的妙技饿饥感,以为本人懂的很少,不断的来进步充分本人
到了纯熟阶段,您才算是有一无所长,才称得上是靠妙技用饭(由于一般开辟者愈来愈多,初阶的编码才能曾经算没有上一无所长了)。
但您能够会正在那个阶段停止 3 ~ 5 年。
那个阶段会有年夜部门人开端疑心法式人死的意义,一圆面临开辟事情很熟习了,也出热情了,另外一圆里又很易进进下一阶段获得打破,因而疲倦、空实、无聊、意义匮累等情况接连不断。正在那个三十而坐的年岁,许多人会思索转型,一部门人由于看没有到别的的时机又易以抛却开辟妙技的储蓄积累战下薪,正在犹踌躇豫中蹉跎光阴;另外一部门人有备无患,正在一样平常的开辟事情中,曾经开展了干线剧情,转型比力顺遂。
正在纯熟开辟者那个阶段,有一小部门人,可以正在某个妙技栈上连续粗进,凸隐出劣势,靠这类妙技劣势,成为初级开辟者;还有一小部门人,一脚妙技,一脚营业,靠穿插劣势,同样成为了初级开辟者。正在那两类初级开辟者中,又会降生出 Team Leader 这类角色。
成为上里那部门人的典范标识表记标帜便是:您被许多人需求,有各类疑问成绩需求您到场或掌管处理。
3.优良

具有妙技劣势的初级开辟者战具有妙技+营业组开劣势的初级开辟者,他们傍边有一部门人会升级为妙技专家或架构师。Team Leader 能够会升级为一线经理(妙技经理、项目经理、研收经理)。那算是开辟者的第三个层级。进进那个层级的开辟者凡是会:带人,带项目,摆设他人干事情,正在主要的妙技决议计划上具有话语权。
那类开辟的妙技露量实在战中心层开辟好没有太多,从某种意义上借没有如。实在,驱动开辟更次要的请求需求必然的硬件常识。那类开辟职员通常为各年夜脚机厂家的开辟职员,因为打仗的里比力窄,妙技饿饥感没有如中心层开辟职员。第两,第三层的开辟职员凡是正在海内的厂家任职,比如魅族、小米、HTC。只要那个样的厂家经过必然的妙技沉淀,才会背最下层进军,中国硬件止业才会做出实正意义上的自立的仄台。
到了那个阶段,您的年齿该当正在 30 ~ 35 岁,年支出会打破 50 万。
4.杰出

许多小公司的妙技指导者(包含尾席架构师、资深架构师、CTO等),实践上大都是从第三阶段超出跨越出去的,利用相对劣势获得了本能机能战头衔上的提拔。
这类人是实正意义上的Android法式员,他们会有挑选的来浏览Android框架源代码,会当真的来浏览dalvik的源代码。本身常识构造也比力成生,常识里比力广。会许多上里三类人皆没有具有的调试战跟踪本领。对一些操作体系战争台设想的思惟战战略,管窥蠡测。正在成绩域战妙技域之间进退两难。那些人,多数也精晓其他挪动仄台大概效劳器操作体系。
妙技职员怎样提拔本人?

年夜厂到底仍是年夜厂……一行分歧便写代码,并且相称正视根底。道是里经,实在便是协助列位查漏补缺,完美妙技栈。究竟结果里经只是面试民拿去采样您的程度的测试用例,我碰到过各类奇异的成绩……
假如您以为本人进修服从低,缺少准确的指点,能够参考下上面分享我多年事情以去搜集收拾整顿的进修路径,给各人做个参考:
1、肯定好标的目的,梳剃头展路径图
不消多道,信赖各人皆有一个共鸣:不管甚么止业,最牛逼的人必定是站正在金字塔真个人。以是,念做一个牛逼的法式员,那末便要让本人站的更下,成为妙技年夜牛并非一晨一夕的工作,需求工夫的沉淀战妙技的储蓄积累。
闭于那一面,正在我其时建立好Android标的目的时,便曾经开端梳理本人的开展路径了,包含妙技要怎样体系天来进修,皆列得十分具体。
155233r3hwj37wkktd3lmh.png

  接下去是每一个模块我收拾整顿出去的文档进修材料,协助各人更详尽化的进修。
155236b2rmqcj2cddjdmdw.png

2、看视频举办体系进修
前几年的Crud阅历,让我大白本人实的算是菜鸡中的战役机,也正由于Crud,招致本人妙技比力零星,也不敷深化不敷体系,以是从头举办进修是很有须要的。我好的是体系常识,好的构造框架战思绪,以是经由过程视频去进修,结果更好,也更片面。闭于视频进修,小我私家能够保举来B站举办进修,B站上有许多进修视频,独一的缺陷便是免费的简单过时。
别的,我本人也收藏了好几套视频,有需求的我也能够分享给您。
3、经由过程源码去体系性天进修
只需是法式员,不论是Java仍是Android,假如没有来浏览源码,只看API文档,那便只是停止于外相,那对我们常识系统的成立战完整和真战妙技的提拔皆是倒霉的。
“编程言语是法式员的表达的方法,而架构是法式员对天下的认知”。以是,法式员要念快速认知并进修架构,读源码是必不成少的。浏览源码,是处理成绩 + 了解事物,更主要的:看到源码背后的设法;法式员道:读万止源码,止万种理论。
实正最能熬炼才能的即是间接来浏览源码,不单限于浏览各年夜体系源码,借包含各类优良的开源库。
155237cr2t1rjerkt99xym.png

《486页超片面Android开辟相干源码粗编剖析》
4、简历筹办充分
能够来知乎上里搜搜他人写的有闭简历的帖子,怎样筹办,吸收hr, 凸起本人的长处战才能,大概让伴侣帮您看看简历有无成绩,比如过于俭朴大概夸诞,出有重面等。
只管把您的明面总结成一句精练的话,再减上数字来讲明它的影响战意义。
其次正在简历里中参加了可交互、可展现的内乱容,更能隐出您的才能不同凡响。
有许多人常常也会碰到许多闭于简历建造,职业猜疑、HR典范面试成绩答复等有关隘试的成绩。一样我也汇集收拾整顿了齐套简历建造、金三银四社招猜疑、HR面试等成绩剖析,有疑问,能够供给专业的解问。
5、刷题备战,纵贯年夜厂
面试的前一周工夫内乱,就能够开端刷题冲刺了。请记着,刷题的时分,妙技的劣先,算法的看些根本的,比如排序等便可,而智力题,除非是校招,不然普通没有怎样会问。
闭于面试刷题,我小我私家也筹办了一套体系的面试题,协助您触类旁通。
155237kjevebtcj9lk6tzj.png

《379页Android开辟面试宝典》
以上那些材料皆已挨包收拾整顿终了:
155238qatf1knttkfdozdh.jpg


免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则