前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2019最新Android面试题

2019最新Android面试题

作者头像
终端研发部
修改于 2019-06-19 09:30:50
修改于 2019-06-19 09:30:50
1K0
举报
文章被收录于专栏:终端研发部终端研发部

原文链接:https://blog.csdn.net/wen_haha/article/details/88362469 版权声明:本文为博主原创文章,转载请附上博文链接!

前言

金三银四到来了,找工作的好时候到了,小伙伴们是不是都在忙着找工作呢,小弟前一阵也是忙着在找工作,面试了好多公司,所幸的是进到了自己心仪的公司,也是很幸运的。下面我将自己亲身实战的面试题及收到的面试题总结并分享答案出来。欢迎各位大哥指导、指点。

下面这些只是Android方面的知识,如果有需要Java方面的面试题的话,可以在下面留言。

1.Activity生命周期(这个是必问的)

onCreate() 创建活动,做一些数据初始化操作

onStart() 由不可见变为可见

onResume() 可以与用户进行交互,位于栈顶

onPause() 暂停,启动或恢复另一个活动时调用

onStop() 停止,变为不可见

onDestroy() 销毁

onRestart() 由停止状态变为运行状态

2.Fragment生命周期 (这个有可能会问到,问的机率不是很大)

image.png

3.Service生命周期

onCreate()

首次创建服务时,系统将调用此方法。如果服务已在运行,则不会调用此方法,该方法只调用一次。

onStartCommand()

当另一个组件通过调用startService()请求启动服务时,系统将调用此方法。

onDestroy()

当服务不再使用且将被销毁时,系统将调用此方法。

onBind()

当另一个组件通过调用bindService()与服务绑定时,系统将调用此方法。

onUnbind()

当另一个组件通过调用unbindService()与服务解绑时,系统将调用此方法。

onRebind()

当旧的组件与服务解绑后,另一个新的组件与服务绑定,onUnbind()返回true时,系统将调用此方法。

4.Service启动方式(问到Service,这个肯定是要问到的)

1.startService

①.定义一个类继承service

②.在manifest.xml文件中配置该service

③.使用context的startService(intent)启动该service

④.不再使用时,调用stopService(Intent)停止该服务

2.bindService

①.创建bindService服务段,继承自service并在类中,创建一个实现binder接口的实例对象并提供公共方法给客户端调用

②.从onbind()回调方法返回此binder实例

③.在客户端中,从onserviceconnected()回调方法接收binder,并使用提供的方法调用绑定服务

5.Activity的启动方式(偶尔会问)

①.standard模式

a.Activity的默认启动模式

b.每启动一个Activity就会在栈顶创建一个新的实例。例如:闹钟程序

缺点:当Activity已经位于栈顶时,而再次启动Activity时还需要在创建一个新的实例,不能直接复用。

②.singleTop模式

特点:该模式会判断要启动的Activity实例是否位于栈顶,如果位于栈顶直接复用,否则创建新的实例。 例如:浏览器的书签

​缺点:如果Activity并未处于栈顶位置,则可能还会创建多个实例。

③.singleTask模式

特点:使Activity在整个应用程序中只有一个实例。每次启动Activity时系统首先检查栈中是否存在当前Activity实例,如果存在

则直接复用,并把当前Activity之上所有实例全部出栈。例如:浏览器主界面

④.singleInstance模式

特点:该模式的Activity会启动一个新的任务栈来管理Activity实例,并且该势力在整个系统中只有一个。无论从那个任务栈中启动该Activity,都会是该Activity所在的任务栈转移到前台,从而使Activity显示。主要作用是为了在不同程序中共享一个Activity

6.Touch事件传递机制

在我们点击屏幕时,会有下列事件发生:

Activity调用dispathTouchEvent()方法,把事件传递给Window;

Window再将事件交给DecorView(DecorView是View的根布局);

DecorView再传递给ViewGroup;

Activity ——> Window ——> DecorView ——> ViewGroup——> View

事件分发的主要有三个关键方法

dispatchTouchEvent() 分发

onInterceptTouchEvent() 拦截 ,只有ViewGroup独有此方法

onTouchEvent() 处理触摸事件

Activity首先调用dispathTouchEvent()进行分发,接着调用super向下传递

ViewGroup首先调用dispathTouchEvent()进行分发,接着会调用onInterceptTouchEvent()(拦截事件)。若拦截事件返回为true,表示拦截,事件不会向下层的ViewGroup或者View传递;false,表示不拦截,继续分发事件。默认是false,需要提醒一下,View是没有onInterceptTouchEvent()方法的

事件在ViewGroup和ViewGroup、ViewGroup和View之间进行传递,最终到达View;

View调用dispathTouchEvent()方法,然后在OnTouchEvent()进行处理事件;OnTouchEvent() 返回true,表示消耗此事件,不再向下传递;返回false,表示不消耗事件,交回上层处理。

7.介绍下实现一个自定义View的基本流程

①.自定义View的属性 编写attr.xml文件

②.在layout布局文件中引用,同时引用命名空间

③.在View的构造方法中获得我们自定义的属性 ,在自定义控件中进行读取(构造方法拿到attr.xml文件值)

④.重写onMesure

⑥.重写onDraw

8.Android中的动画有哪些

逐帧动画(Frame Animation)

加载一系列Drawable资源来创建动画,简单来说就是播放一系列的图片来实现动画效果,可以自定义每张图片的持续时间

补间动画(Tween Animation)

Tween可以对View对象实现一系列动画效果,比如平移,缩放,旋转,透明度等。但是它并不会改变View属性的值,只是改变了View的绘制的位置,比如,一个按钮在动画过后,不在原来的位置,但是触发点击事件的仍然是原来的坐标。

属性动画(Property Animation)

动画的对象除了传统的View对象,还可以是Object对象,动画结束后,Object对象的属性值被实实在在的改变了

9.ANR是什么?怎样避免和解决ANR

Application Not Responding,即应用无响应

出现的原因有三种:

a)KeyDispatchTimeout(5 seconds)主要类型按键或触摸事件在特定时间内无响应

b)BroadcastTimeout(10 seconds)BoradcastReceiver在特定的时间内无法处理

c)ServiceTimeout(20 seconds)小概率类型Service在特定的时间内无法处理完成

避免ANR最核心的一点就是在主线程减少耗时操作。通常需要从那个以下几个方案下手:

a)使用子线程处理耗时IO操作

b)降低子线程优先级,使用Thread或者HandlerThread时,调用Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)设置优先级,否则仍然会降低程序响应,因为默认Thread的优先级和主线程相同

c)使用Handler处理子线程结果,而不是使用Thread.wait()或者Thread.sleep()来阻塞主线程

d)Activity的onCreate和onResume回调中尽量避免耗时的代码

e)BroadcastReceiver中onReceiver代码也要尽量减少耗时操作,建议使用intentService处理。intentService是一个异步的,会自动停止的服务,很好解决了传统的Service中处理完耗时操作忘记停止并销毁Service的问题

10.如何优化ListView(偶尔会问)

①Item布局,层级越少越好,使用hierarchyview工具查看优化。

②复用convertView

③使用ViewHolder

④item中有图片时,异步加载

⑤快速滑动时,不加载图片

⑥item中有图片时,应对图片进行适当压缩

⑦实现数据的分页加载

11.设备横竖屏切换的时候,生面周期的变化(这个偶尔会问)

不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

12.AndroidUI的适配

字体使用sp,使用dp,多使用match_parent,wrap_content,weight

图片资源,不同图片的的分辨率,放在相应的文件夹下可使用百分比代替。

13.RecyclerView和ListView的区别(这个是必问的)

RecyclerView可以完成ListView,GridView的效果,还可以完成瀑布流的效果。同时还可以设置列表的滚动方向(垂直或者水平);

RecyclerView中view的复用不需要开发者自己写代码,系统已经帮封装完成了。

RecyclerView可以进行局部刷新。

RecyclerView提供了API来实现item的动画效果。

在性能上:

如果需要频繁的刷新数据,需要添加动画,则RecyclerView有较大的优势。

如果只是作为列表展示,则两者区别并不是很大。

14,Android异步消息处理机制(这个也会经常问到)

异步消息处理机制主要是用来解决子线程更新UI的问题

主要有四个部分:###

①. Message (消息)中

在线程之间传递,可在内部携带少量信息,用于不同线程之间交换数据

可以使用what、arg1、arg2字段携带整型数据

obj字段携带Object对象

②. Handler (处理者)

主要用于发送和处理消息,sendMessage()用来发送消息,最终会回到handleMessage()进行处理

③. MessageQueue (消息队列

主要存放所有通过Handler发送的消息,它们会一直存在于队列中等待被处理

每个线程只有一个MessageQueue

④. Looper (循环器)

调用loop()方法后,会不断从MessageQueue 取出待处理的消息,然后传递到handleMessage进行处理

15.内存泄漏和内存溢出是什么?一般怎么处理内存泄漏?

(1)内存溢出(OOM)和内存泄露(对象无法被回收)的区别。

(2)引起内存泄露的原因

(3)内存泄露检测工具 ------>LeakCanary

内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存溢出通俗的讲就是内存不够用。

内存泄露 memory leak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光

内存泄露原因以及解决:

一、Handler 引起的内存泄漏。

解决:将Handler声明为静态内部类,就不会持有外部类SecondActivity的引用,其生命周期就和外部类无关,

如果Handler里面需要context的话,可以通过弱引用方式引用外部类

二、单例模式引起的内存泄漏

解决:Context是ApplicationContext,由于ApplicationContext的生命周期是和app一致的,不会导致内存泄漏

三、非静态内部类创建静态实例引起的内存泄漏。

解决:把内部类修改为静态的就可以避免内存泄漏了

四、非静态匿名内部类引起的内存泄漏。

解决:将匿名内部类设置为静态的。

五、注册/反注册未成对使用引起的内存泄漏。

注册广播接受器、EventBus等,记得解绑。

六、资源对象没有关闭引起的内存泄漏。

在这些资源不使用的时候,记得调用相应的类似close()、destroy()、recycler()、release()等方法释放。

七、集合对象没有及时清理引起的内存泄漏。

通常会把一些对象装入到集合中,当不使用的时候一定要记得及时清理集合,让相关对象不再被引用。

16.图片加载框架有哪些?他们之间的区别是什么?(这个也是必问的)

ImageLoader :

优点:

① 支持下载进度监听;

② 可以在 View 滚动中暂停图片加载;

③ 默认实现多种内存缓存算法这几个图片缓存都可以配置缓存算法,不过 ImageLoader 默认实现了较多缓存算法,如 Size 最大先删除、使用最少先删除、最近最少使用、先进先删除、时间最长先删除等;

④ 支持本地缓存文件名规则定义;

缺点:

缺点在于不支持GIF图片加载, 缓存机制没有和http的缓存很好的结合, 完全是自己的一套缓存机制

Picasso:

优点:

① 自带统计监控功能,支持图片缓存使用的监控,包括缓存命中率、已使用内存大小、节省的流量等。

② 支持优先级处理

③ 支持延迟到图片尺寸计算完成加载

④ 支持飞行模式、并发线程数根据网络类型而变,手机切换到飞行模式或网络类型变换时会自动调整线程池最大并发数。

⑤ “无”本地缓存。Picasso 自己没有实现本地缓存,而由okhttp 去实现,这样的好处是可以通过请求 Response Header 中的 Cache-Control 及 Expired 控制图片的过期时间。

缺点:

于不支持GIF,默认使用ARGB_8888格式缓存图片,缓存体积大。

Glide:

优点:

① 图片缓存->媒体缓存 ,支持 Gif、WebP、缩略图。甚至是 Video。

② 支持优先级处理

③ 与 Activity/Fragment 生命周期一致,支持 trimMemory

④ 支持 okhttp、Volley。Glide 默认通过 UrlConnection 获取数据,可以配合 okhttp 或是 Volley 使用。实际 ImageLoader、Picasso 也都支持 okhttp、Volley。

⑤ 内存友好,内存缓存更小图片,图片默认使用默认 RGB565 而不是 ARGB888

缺点:

清晰度差,但可以设置

Fresco:

优点:

① 图片存储在安卓系统的匿名共享内存, 而不是虚拟机的堆内存中,所以不会因为图片加载而导致oom, 同时也减少垃圾回收器频繁调用回收Bitmap导致的界面卡顿,性能更高.

② 渐进式加载JPEG图片, 支持图片从模糊到清晰加载

③ 图片可以以任意的中心点显示在ImageView, 而不仅仅是图片的中心.

④ JPEG图片改变大小也是在native进行的, 不是在虚拟机的堆内存, 同样减少OOM

⑤ 很好的支持GIF图片的显示

缺点:

框架较大, 影响Apk体积,使用较繁琐

17.网络框架有哪些?他们之间的区别是什么?(这个也会问到)

Xutils

这个框架非常全面,可以进行网络请求,可以进行图片加载处理,可以数据储存,还可以对view进行注解,使用这个框架非常方便,但是缺点也是非常明显的,使用这个项目,会导致项目对这个框架依赖非常的严重,一旦这个框架出现问题,那么对项目来说影响非常大的

OKhttp

Android开发中是可以直接使用现成的api进行网络请求的。就是使用HttpClient,HttpUrlConnection进行操作。okhttp针对Java和Android程序,封装的一个高性能的http请求库,支持同步,异步,而且okhttp又封装了线程池,封装了数据转换,封装了参数的使用,错误处理等。API使用起来更加的方便。但是我们在项目中使用的时候仍然需要自己在做一层封装,这样才能使用的更加的顺手。

Volley

Volley是Google官方出的一套小而巧的异步请求库,该框架封装的扩展性很强,支持HttpClient、HttpUrlConnection, 甚至支持OkHttp,而且Volley里面也封装了ImageLoader,所以如果你愿意你甚至不需要使用图片加载框架,不过这块功能没有一些专门的图片加载框架强大,对于简单的需求可以使用,稍复杂点的需求还是需要用到专门的图片加载框架。Volley也有缺陷,比如不支持post大数据,所以不适合上传文件。不过Volley设计的初衷本身也就是为频繁的、数据量小的网络请求而生。

Retrofit

Retrofit是Square公司出品的默认基于OkHttp封装的一套RESTful网络请求框架,RESTful是目前流行的一套api设计的风格, 并不是标准。Retrofit的封装可以说是很强大,里面涉及到一堆的设计模式,可以通过注解直接配置请求,可以使用不同的http客户端,虽然默认是用http ,可以使用不同Json Converter 来序列化数据,同时提供对RxJava的支持,使用Retrofit + OkHttp + RxJava + Dagger2 可以说是目前比较潮的一套框架,但是需要有比较高的门槛。

Volley VS OkHttp

Volley的优势在于封装的更好,而使用OkHttp你需要有足够的能力再进行一次封装。而OkHttp的优势在于性能更高,因为 OkHttp基于NIO和Okio ,所以性能上要比 Volley更快。IO 和 NIO这两个都是Java中的概念,如果我从硬盘读取数据,第一种方式就是程序一直等,数据读完后才能继续操作这种是最简单的也叫阻塞式IO,还有一种是你读你的,程序接着往下执行,等数据处理完你再来通知我,然后再处理回调。而第二种就是 NIO 的方式,非阻塞式, 所以NIO当然要比IO的性能要好了,而 Okio是 Square 公司基于IO和NIO基础上做的一个更简单、高效处理数据流的一个库。理论上如果Volley和OkHttp对比的话,更倾向于使用 Volley,因为Volley内部同样支持使用OkHttp,这点OkHttp的性能优势就没了, 而且 Volley 本身封装的也更易用,扩展性更好些。

OkHttp VS Retrofit

毫无疑问,Retrofit 默认是基于 OkHttp 而做的封装,这点来说没有可比性,肯定首选 Retrofit。

Volley VS Retrofit

这两个库都做了不错的封装,但Retrofit解耦的更彻底,尤其Retrofit2.0出来,Jake对之前1.0设计不合理的地方做了大量重构, 职责更细分,而且Retrofit默认使用OkHttp,性能上也要比Volley占优势,再有如果你的项目如果采用了RxJava ,那更该使用 Retrofit 。所以这两个库相比,Retrofit更有优势,在能掌握两个框架的前提下该优先使用 Retrofit。但是Retrofit门槛要比Volley稍高些,要理解他的原理,各种用法,想彻底搞明白还是需要花些功夫的,如果你对它一知半解,那还是建议在商业项目使用Volley吧。

18.熟悉哪些设计模式?

按照自己的实际情况回答,当然是越多越好。比如我自己也就熟悉个单例模式。

19.三级缓存(这个偶尔会问)

网络加载,不优先加载,速度慢,浪费流量

本地缓存,次优先加载,速度快

内存缓存,优先加载,速度最快

首次加载Android App时,肯定要通过网络交互来获取图片,之后我们可以将图片保存至本地SD卡和内存中,之后运行APP时,优先访问内存中的图片缓存,若内存中没有,则加载本地SD卡中图片,最后选择访问网络

20.Android与服务器交互的方式中的对称加密和非对称加密是什么?

对称加密,就是加密和解密数据都是使用同一个key,这方面的算法有DES。

非对称加密,加密和解密是使用不同的key。发送数据之前要先和服务端约定生成公钥和私钥,使用公钥加密的数据可以用私钥解密,反之。这方面的算法有RSA。ssh 和 ssl都是典型的非对称加密。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android面试题含答案「建议收藏」
onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()
Java架构师必看
2022/04/11
1.6K0
Android面试题含答案「建议收藏」
前方高能!这是最新的一波Android大厂面试题汇总,不学则已,一学惊人
面试大厂,那就是考察你技术方向的一些专业技能,如果你面试Android岗位,那 Android 方向的专业技能就是考察很重要的一个方向。
Android技术干货分享
2021/08/25
1.2K0
前方高能!这是最新的一波Android大厂面试题汇总,不学则已,一学惊人
史上最全的Android面试题集锦
在Android开发中,不管是插件化还是组件化,都是基于Android系统的类加载器ClassLoader来设计的。只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,传统Class文件是一个Java源码文件会生成一个.class文件,而Android是把所有Class文件进行合并、优化,然后再生成一个最终的class.dex,目的是把不同class文件重复的东西只需保留一份,在早期的Android应用开发中,如果不对Android应用进行分dex处理,那么最后一个应用的apk只会有一个dex文件。
做个快乐的码农
2021/12/17
8290
安卓工程师:秋招21家公司的面试真题总结
之前一直混迹于牛客,现在也反馈一波给牛油们。下面是秋招的面试经历具体内容。 拼多多 学霸提前批Android研发工程师 offer 笔试 基于给定接口实现ImageLoader框架 一面 自我介绍  静态变量和实例变量的区别  重写equals()方法的注意事项;两个list是怎么判断是否相等的?  HashTable和HashMap的区别;是否允许键为null  数据同步的方法;synchronized可以在对象上加锁吗?在方法上加锁是加在哪个对象上?  进程间读写文件的同步方式  了解哪些加密算法;AE
牛客网
2018/04/28
1.8K0
Android常见面试题
onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()
Demo_Yang
2019/04/09
1.3K0
最全的BAT大型互联网公司面试题整理
最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。
美的让人心动
2018/06/10
3.9K9
金三银四要来了?不要慌,Android高级面试题刷一刷
这篇攻略是我从事开发工作七八年来,去面试,以及面试别人的经验总结。其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,希望对大家之后找工作有帮助!
Android技术干货分享
2020/03/11
1.5K0
金三银四要来了?不要慌,Android高级面试题刷一刷
金九银十Offer收割机:Android 面试核心知识点精讲,不打没准备的仗!
无他,就是靠自己的毅力以及决心。一天不行,一个月;一个月不行,一年;有决心的人,啥学历、或者资历,那些都是借口。
Android技术干货分享
2021/08/30
8760
金九银十Offer收割机:Android 面试核心知识点精讲,不打没准备的仗!
【干货】Android 一线互联网面试题汇总,13模块200+题,征服面试官不是梦!
今天分享的面试题,基本都是针对一线互联网公司的面试题整理的,我这里就不单独以公司为单位整理,我自己进行了分类,循序渐进,由基础到深入,由易到简。
Android技术干货分享
2020/10/29
7980
【干货】Android 一线互联网面试题汇总,13模块200+题,征服面试官不是梦!
刷面试题的正确姿势!Android400道面试题+通关知识宝典助你进大厂,查漏补缺
作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2020 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?
Android技术干货分享
2020/10/22
9090
刷面试题的正确姿势!Android400道面试题+通关知识宝典助你进大厂,查漏补缺
你们要的高级面试题来了,30K月薪?安排!
由于这周工作上Bug比较多,没有及时更新,现在干货来了,下面这些面试内容你都会了,30K不在话下,由于高级篇内容较多,预计阅读需要....3个月
Android扫地僧
2020/03/19
4900
你们要的高级面试题来了,30K月薪?安排!
2019年面试实战总结,这些Android面试题你一定需要了解
1:首先计算出 density,计算公式:当前设备屏幕总宽度(单位为像素)/ 设计图总宽度(单位为 dp) = densitydensity 的意思就是 1 dp 占当前设备多少像素计算density 的原因:在布局文件中填写的是什么单位,最后都会被转化为 px,系统就是通过上面的方法,将你在项目中任何地方填写的单位都转换为 px
Android扫地僧
2020/03/19
8310
2019年面试实战总结,这些Android面试题你一定需要了解
四年Android面试遇到的问题整理
以下问题的答案均是个人四年来学习实践中整理的,如有不同意见,欢迎斧正。 1.自定义Handler时如何避免内存泄漏
Android技术干货分享
2019/03/26
5960
Android大厂面试题锦集(BAT TMD JD 小米)
上次写这篇文章的时候也差不多是一年前了,这一年我兜兜转转从android到java又回到android,校招面了很多大厂,阿里、京东、小米、头条、知乎、腾讯、有赞,也收获了几个offer。感谢大家的关注,让我在简书上面也混到了一个简书程序员优秀作者的称号,所以为了回馈大家,一篇最完全的android面经诞生了。这是我集合了牛客网、百度、简书等网站的几十篇面经和我自己面试的经历的合集,希望大家喜欢。(ps:里面当然会有纰漏,如果有问题欢迎大家留言或者加我QQ讨论) 1.android事件分发机制,请详细
何时夕
2018/05/02
1.9K0
Android大厂面试题锦集(BAT TMD JD 小米)
史上最全 BAT 大厂面试题整理!(速度收藏)
本文作者 作者:AWeiLoveAndroid 链接:https://www.jianshu.com/p/c70989bd5f29 本文只列出了问题,答案还是需要需要自己的总结,很多时候自己总结出来的语言在面试时比硬背的效果好很多。 又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。 这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
Java技术栈
2018/06/04
1.8K0
金九银十要来了?不要慌,这些Android BAT高级面试题刷一刷
这篇攻略是我从事开发工作七八年来,去面试,以及面试别人的经验总结。其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,希望对大家之后找工作有帮助!
Android技术干货分享
2020/09/15
1.1K0
金九银十要来了?不要慌,这些Android BAT高级面试题刷一刷
紧急应对金三银四跳槽季,那些想要换个场地的程序员可以在Android市场行动起来了!
又要交房租了,工资怎么还不发?每个月总觉得钱不够花,工资总是跟不上消费,什么时候能涨个工资呢?
Android技术干货分享
2021/02/26
5980
紧急应对金三银四跳槽季,那些想要换个场地的程序员可以在Android市场行动起来了!
金九银十,2019 Android精选面试实战总结整理(含详细解析)
1:首先计算出 density,计算公式:当前设备屏幕总宽度(单位为像素)/ 设计图总宽度(单位为 dp) = densitydensity 的意思就是 1 dp 占当前设备多少像素计算density 的原因:在布局文件中填写的是什么单位,最后都会被转化为 px,系统就是通过上面的方法,将你在项目中任何地方填写的单位都转换为 px
Android技术干货分享
2019/10/11
6320
金九银十,2019 Android精选面试实战总结整理(含详细解析)
当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试
现在Android开发的现状大致是这个样子,人才严重过饱和,加上跨端和小程序盛行,原生客户端(安卓 iOS)岗位进一步萎缩,入行之后就业极为困难。目前行情是移动端严重过剩,服务端供需平衡,前端供不应求。市场上前端工作好找,服务端职业上限整体较高。。客户端上百人抢一个工作岗位,竞争激烈,内卷惨烈。
Android技术干货分享
2021/08/26
1.1K0
当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试
2021秋招,我借这份PDF的复习思路,收获百度,小米,滴滴出行等Android岗offer
眨眼间,2021年就快过去了,这两年,我们经历了新冠疫情的洗礼,导致今年的互联网环境太差,很多程序员都经历了失业,找工作的恐慌,所以我们更加需要自己有足够的知识储备,才能够应对这凌冽的寒风。
用户9227784
2021/12/28
5700
推荐阅读
相关推荐
Android面试题含答案「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档