Java基础

简述题(一)

  • &和&&的区别。
  • Get和Post的区别
  • http response code
  • udp连接和TCP的不同之处
  • java中的soft reference是个什么东西
  • 抽象类和接口的区别
  • 谈一下对java中的abstract的理解
  • Overload和Override的区别
  • Static Nested Class 和 Inner Class的不同
  • 内部类机制

简述题(二)

  • 怎么用接口来连接两个层的
  • 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concreteclass)?
  • private和default有什么区别
  • java里的常量是怎么定义的
  • 类前边加+final的用处?
  • finally final finalize的作用?
  • java中final定义的类有什么特点
  • try{ return} catch{} finally{}; return还是finally先执行。
  • 数组有没有length()这个方法? String有没有length()这个方法?
  • 是否可以继承String类?
  • swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
  • 常量final string str=“ab”可不可以变成”abd”,为什么?
  • StringBuffer的作用?
  • String s=new String(“abc”); new了几个对象

简述题(三)

  • 启动一个线程是用run()还是start()?
  • 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
  • 同步和异步的区别?
  • sleep和wait有什么区别? 一个是用来让线程休息,一个是用来挂起线程
  • abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
  • 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

简述题(四)

  • Error与Exception的区别
  • Java中的异常处理机制的简单原理和应用。
  • Java内存回收机制,GC 垃圾回收机制,垃圾回收的优点和原理。并考虑2种回收机制。
  • 对象Object读写的是哪两个流
  • 反射,求字段的值和方法名
  • Socket编程的步骤
  • 什么是Java序列化

简述题(五)

  • 常见集合及区别
  • ArrayList和Vector区别,HashMap和HashTable区别
  • ArrayList和LinkedList的区别
  • List, Set, Map是否继承自Collection接口?
  • hashCode方法的作用
  • Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
  • 当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?
  • JSON,fastjson和GSON的区别
  • XML,解析XML的几种方式的原理与特点:DOM、SAX、PULL
  • MD5加密原理,可否解密。
  • heap和stack有什么区别。
  • 用最有效率的方法算出2乘以8等於几? (2<< 3)

java集合类框架

http://blog.csdn.net/axi295309066/article/details/54089986

Android面试——Java相关

Android基础

Activity

  • 生命周期及横竖屏切换时生命周期
  • 启动模式
  • 内存不足时,怎么保持Activity的一些状态,在哪个方法里面做具体操作?
  • 介绍Activity、Service、Broadcast、BroadcastReceiver、Intent、IntentFilter
  • 怎么在启动一个activity时就启动一个service
  • 同一个程序不同的Activity如何放在不同的任务栈中?
  • 如何将一个Activity设置成窗口的样式
  • 如何退出Activity?如何安全退出已调用多个Activity的Application?
  • Activity中如何动态的添加Fragment?
  • activity的启动过程 参考
  • 不用Service,B页面为音乐播放,从A跳到B,再返回,如何使音乐继续播放?
  • windows和activity之间关系?
  • 一个activity打开另外一个activity,再打开一个activity?回去的时候发生了什么操作?
  • onActivityResult(int requestCode, int resultCode, Intent data)方法的用法;

Fragment

  • 生命周期
  • Fragment嵌套多个Fragment会出现bug吗?

BroadcastReceiver

  • 注册广播有哪几种方式,有什么区别
  • Android引入广播机制的用意?
  • 无序广播、有序广播 -1000——1000
  • 同优先级,清单文件中上面先收到
  • Broadcast、Content Provider 和 AIDL的区别和联系
  • Android基础——广播接收者BroadcastReceiver

Service

  • 注册Service需要注意什么
  • 什么是Service以及描述下它的生命周期。
  • Service与Activity怎么实现通信
  • Service有哪些启动方法,有什么区别,怎样停用Service?
  • 什么是IntentService?有何优点?
  • Service和Activity在同一个线程吗 main 线程 UI线程
  • Service里面可以弹土司么
  • 如何启用Service,如何停用Service
  • 什么时候使用Service?
  • 说说Activity、Intent、Service是什么关系
  • AIDL,两个android应用间的互相调用方法?
  • AIDL的全称是什么?如何工作?能处理哪些类型的数据
  • Android基础——Service
  • Android基础——IntentService
  • Android开发指导——Service
  • Android开发指导——绑定Service
  • Android开发指导——进程间通信AIDL

ContentProvider

  • 自定义一个contentProvider。
  • 请介绍下ContentProvider是如何实现数据共享的
  • 创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。
  • contentProvider权限;

AsyncTask简介

  • Asynctask具体用法?
  • Asynctask的Do in background方法是怎么通知UI线程刷新进度条的?
  • Asynctask的Do in background方法默认是返回 true ,表示任务完成,如果想返回具体的数据呢,怎么做。如果Activity被销毁了,还会执行到postexcutd方法吗?
  • Android基础——AsyncTask

ListView

  • 手指快速拖动ListView时,如何处理惯性引起的加载问题;
  • 怎么实现ListView多种布局?
  • ListView与数据库绑定的实现
  • 怎么实现一个部分更新的 ListView?
  • ListView卡顿的原因与性能优化,大量数据时,说的越多越好

UI相关

  • 谈UI中,Padding和Margin有什么区别?
  • rawable-hdpi的dpi是什么意思?
  • 介绍下Android中常用的五种布局
  • ndroid中px,sp,dip,dp的区别与联系
  • 么处理屏幕适配的

简述题(一)

  • android开发中怎么去调试debug
  • 请解释下Android程序运行时权限与文件系统的权限的区别
  • JVM 和Dalvik虚拟机的区别
  • android dvm的进程和Linux的进程应用程序是否为同一个概念
  • sim卡的ef文件有何作用。
  • 你如何评价Android系统?优缺点
  • 谈下android系统的架构
  • 根据自己的理解描述下android数字签名

简述题(二)

  • 如何加载音乐信息,如何改善其效率。
  • Android程序与java程序的区别?
  • 什么是 MVC 模式?MVC 模式的好处是什么?
  • 在Android中MVC的具体体现
  • 简述Android应用程序的组成

简述题(三)

  • 如何让程序自动启动
  • 如何让程序不被系统自动销毁
  • 常见异常,5种运行时异常
  • 运行时异常与一般异常有何异同?
  • 什么情况会导致Force Close?如何避免?是否捕获导致其的异常
  • 什么是 ANR 问题?为什么会引起 ANR 问题?
  • 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由
  • ContentValues相关,key是不是任意类型,value是不是任意类型
  • URL和URI区别用法
  • 数据存储,数据持久化的方式有哪些
  • 进程优先级
  • intent-filter属性及其含义;
  • 如何打开res/raw 目录中的数据库文件?

简述题(四)

  • NotifactionManager使用原理
  • Asset与raw都能存放资源,他们有什么区别?
  • postInvalidate与invalidate有什么区别?
  • notifyDataSetChanged 和notifyDataSetInvalidated的区别
  • Serializable和Parcelable的区别
  • 子线程中更新UI的方法
  • Scrollview怎么判断是否滑倒底部
  • ViewPager 怎么做性能优化
  • 布局如何动态加载
  • 外存储器文件遍历输出文件名
  • Intent启动Activity有几种方式,请分别简述
  • AndroidManifest.xml文件中主要包含哪些信息
  • 列举常用的Android开源项目及应用场景
  • 文件和数据库哪个效率高

简述题(五)

  • 常见设计模式,并手动简单实现观察者模式
  • Handler机制
  • 热修复
  • 简述静默安装的原理,如何在无需Root权限的情况下实现静默安装
  • 什么是65535问题,如何防止或解决65535问题
  • 简述实现Android APK插件化的简单方法
  • 如何实现资源文件的混淆
  • 如何在不引用第三方工具的情况下防止应用二次打包?并对应用进行简单加固
  • 简述控制反转(Inversion of Control)的应用场景
  • 怎么考虑数据传输的安全性
  • xmpp openfire 基于xmpp openfire smack开发之Android客户端开发
  • 应用常驻后台,避免被第三方杀掉的方法,讲讲你用过的奇淫巧技?
  • 简述实现Android APK插件化的简单方法

JS交互

  • 如何实现点击网站某个链接就自动下载一个程序到手机上并自动安装运行;
  • java和JS的交互 Android中Java和JavaScript交互
  • WebView 远程代码执行漏洞浅析
  • 解决方案:WebView中的Java与JavaScript提供【安全可靠】的多样互通方案

Android动画

  • Android中有哪些类型的动画,用属性动画实现控件的缩放
  • 不使用动画,怎么实现一个动态的 View?
  • Android中的动画有哪些,区别是什么

自定义View

  • View,SurfaceView,GLSurfaceView有什么区别
  • View的绘制
  • 如何自定义ViewGroup?
  • View刷新机制
  • android UI中的View如何刷新
  • 事件传递及处理机制
  • View中onTouch,onTouchEvent,onClick的执行顺序
  • Android事件分发机制源码分析及总结

JNI

  • JNI怎么使用
  • 简单描述你是如何进行JNI开发的
  • 在哪些情况下java代码中需要调用C代码

性能优化

  • 图片缓存及优化,设计一个图片缓存加载机制
  • 内存优化,布局优化,代码优化
  • 内存溢出OOM是怎么引起的?怎么尽量避免OOM问题的出现?
  • Android中引起内存泄露的原因
  • Android面试——APP性能优化
  • Android性能优化——避免内存泄露(译)

数据库

  • 分页查询数据
  • 如何将SQLite数据库与apk文件一起发布?
  • 左连接与右连接的区别
  • 描述Sqlite数据库(类型、关系);
  • 你的项目中Sqlite数据库中存储的数据用SharePreference来处理也可以,为什么不用SharePreference呢;

网络编程

  • Rest API
  • Volley相关 Volley Android Volley完全解析
  • 如何控制TCP连接时的拥塞 TCP的流量控制和拥塞控制
  • 三次握手 TCP协议中的三次握手和四次挥手(图解)
  • Android客户端和服务端如何使用Token和Session
  • 移动端获取网络数据优化

编程算法题

  • 冒泡排序
  • 求素数
  • 单例模式——写一个Singleton出来
  • 二叉树遍历
  • 最长不重复子串(最长重复子串)
  • 有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(xffffffff)- 像素点的透明度调整为5%。
  • 写一个求递归程序 求54321
  • 请使用java或者C++实现反转单链表
  • 生产者、消费者
  • 死锁(同步嵌套同步且锁不同)
  • 写一个多线程实例代码;
  • 写一个方法,交换两个变量的值?
  • 给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
  • 给一串字符串比如abbbcccd,输出a1b3c3d1,手写代码(注意有个别字符可能会出现十次以上的情况)
  • 一个序列,它的形式是12349678,9是最高峰,经历了一个上升又下降的过程,找出里面的最大值的位置,要求效率尽可能高
  • 二叉查找树的删除操作,手写代码
  • 二分查找,手写代码
  • 有海量条 url,其中不重复的有300万条,现在希望挑选出重复出现次数最高的 url,要求效率尽可能的高
  • 一篇英语文章,去掉字符只留下k个,如何去掉才能使这k个字符字典序最小
  • 弗洛伊德算法和 Dijkstra算法的区别?复杂度是多少?讲讲 Dijkstra算法的具体过程
  • 反转字符串,要求手写代码,优化速度、优化空间
  • 给出两个无向图,找出这2个无向图中相同的环路。手写代码

Java实现单例模式的正确姿势

Android面试——编程算法题

部分答案可参考:CSDN:剑萧舞蝶

原文出处:于卫国,http://yuweiguocn.github.io/android-interview-list/

Android面试题集合相关推荐

  1. 网上看到的Android面试题集合(精)

    1. 下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在 ...

  2. android面试题总结加强

    在加强版的基础上又再加强的android应用面试题集 有些补充略显臃肿,只为学习 1.activity的生命周期. 方法 描述 可被杀死 下一个 onCreate() 在activity第一次被创建的 ...

  3. linux 将test.log中第1行的所有都替换成,【Linux面试题7】三剑客笔试题集合

    三剑客笔试题集合 一. 三剑客-基础部分题目 1. 选择 1.在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(多选)(AC) A:grep B:gzip C:find D:s ...

  4. 金三银四的面试黄金季节,Android面试题来了!

    金三银四的跳槽季节,你准摆好了吗? 首先我们分享一个Android知识图谱. 下面是一些面试官基本必问的问题,请一定要去了解! 基础知识 – 四大组件(生命周期,使用场景,如何启动) java基础 – ...

  5. Android面试题收集(有具体答案)

    Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每个Android应用程序都在它自己的进程中执行,都 ...

  6. Android 面试题合集 - 收藏集 - 掘金

    面试时,你被问到过 TCP/IP 协议吗? - 掘金 前言: 精通 TCP/IP,熟练使用 Socket 进行网路编程. 看到这句话,有没有感到很熟悉呀?相信很多人在投递简历的时候都看到过这条要求,很 ...

  7. 2017常见android面试题

    介绍自己负责的部分,如何实现的. 框架的搭建 排查问题以及结解决方式 兼容性保证 性能优化 上线之后模块导致crash的比例 自定义view viewGroup 这个就是约定的几个方法,onMeasu ...

  8. Android面试题集1

    1. 什么是Activity? 四大组件之一,一般的,一个用户交互界面对应一个activity setContentView() ,// 要显示的布局 , activity 是Context的子类,同 ...

  9. 19、android面试题整理(自己给自己充充电吧)

    (转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现 ...

最新文章

  1. 关于js中cookie的认识
  2. Ubuntu系统安装stardict(星际译王)词典
  3. 搞定Go单元测试(三)—— 断言(testify)
  4. java hascode
  5. sql server 2008学习11 UDF用户自定义函数
  6. 如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
  7. 常用 API 函数(3): 文件处理函数
  8. 优衣库不雅_Uniqlo主页-用户体验案例研究
  9. jquery 学习笔记(二)
  10. Arcscan自动矢量化
  11. R语言中的K折交叉验证
  12. 利用DSRM账号进行权限维持
  13. B站UP主稚晖君自制机械臂给葡萄做缝合手术,工业制造趋于智能化
  14. 水波纹特效怎么制作?这波水波纹特效拉动满满复古感
  15. 什么是聚合页面?网站优化做聚合页面的好处
  16. canvas教程6-绘制圆弧
  17. 第一章 Python初探
  18. 微信小程序开发之——Video
  19. RSD 教程 —— §2.2  第1次运行的配置
  20. 多元线性回归方程原理及其推导

热门文章

  1. SQL Server 备份与恢复之四:备份类型和选项
  2. 如何通过VPC在本机搭建局域网
  3. 虚拟机生命周期八招巧管理
  4. 物理专线与虚拟专线的比较
  5. postgresql中自定义函数脚本的备份及恢复
  6. 关于打印机共享的注意事项——又被叫去修电脑了
  7. Traceroute笔记
  8. 关于YOLO算法的备忘
  9. 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.0
  10. Fedora 33更新异常:Errors during downloading metadata for repository ‘updates‘