android笔试题二

图片 1

① 、android系统架构:

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码
B 集成代码生成器
[正面与反面双向](单表、主表、明细表、树形表,神速支付利器)+快速表单**
构建器
freemaker模版技术
,0个代码不用写,生成完整的1个模块,带页面、建表sql脚本,处理类,service等整人体模型块
C 集成阿里Baba(Alibaba)数据库连接池druid  数据库连接池  Alibaba的
druid。Druid在监督、可扩张性、稳定性和性质方面都有显著的优势
D 集成安全权限框架shiro
  Shiro 是三个用 Java
语言实现的框架,通过一个简练易用的 API
提供身份验证和授权,更安全,更保证
E 集成ehcache分布式缓存
  是二个纯Java的长深圳缓存框架,具有便捷、精干等特点,广泛应用的开源Java分布式缓存。
F **集成微信接口开发,微信自定义菜单(帮衬多少个公众号)
G 图形爬虫技术:输入有图片的网址,能把此网页的图样爬取并下载到本地服务器
H SQL 编辑器,
援救复杂sql语句(写入语句,查询语句),生成报表,能够导出excel

I  websocket 真正及时广播发表技术
  即时拉扯、及时站内信并声音提示、实时在线管理、websocket及时刷新页面(完胜ajax技术)
J  redis 工具类接口,方便调用,并发能力强
K 多数据源(援助同时连接众多少个数据库,能够不一样的模块连接不一致数的据库)协理N个数据源
L  快递单号物流查询接口(不供给选取物流公司,依照单号自动识别)
M 调用录像头拍照,自定义裁剪编辑头像,头像图片色度调节
N  **录制播放技术,摄像弹幕技术,五人即时通信弹幕聊天**

Linux内核——标准库——Framework层——应用层

1
 权限管理:点开二级菜单进入三级菜单展现剧中人物(基础权限)和按钮权限
    
 角色(基础权限):
分剧中人物组和剧中人物,独立分配菜单权限和增加和删除改查权限。
      按钮权限:
给剧中人物分配按钮权限。
2
 按钮管理:自定义按钮管理,维护按钮权限标识等
3
 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态呈现隐藏(递归处理)
4
 数据字典:无限级别,援助多级别无限分类。内设编号,排序等
5
 日志管理:记录用户登录退出和有些主要操作记录
6
 在线管理:websocket技术,实时检查和测试在线用户列表,总括在线人数,可强制用户下线
同一用户只幸好1个客户端登录
7
 系统用户:对一一基本的用户增加和删除改查,单发、群发站内信邮件短信,导入导出excel表格,批量删减
8
 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系音讯等资料
9.   代码生成:生成完整的模块代码,并保存生成记录模版,可复用
(超强悍开发利器)
       
 正向生成:  生成完全的模块,页面、处理类、service层、myabaits的xml
建表的sql脚本等
       
 反向变化:  任意连接别的数据库(mysql、oracle、sqlserver),依照表反射生费用系统的模块
10.
品质监察和控制:监察和控制全数种类的性质,SQL监察和控制,SQL防火墙,U路虎极光L监察和控制,SP兰德牧马人ING监察和控制,SESSION监察和控制等
11. 接口测试:POST or GET
方式检查和测试类别接口,参数加密,json重返结果,计算服务器响应时间
12. 发送邮件:单发,群发邮件  
13.
置二维码:生成二维码图表保存到服务器 or  解析读取二维码内音信
14.
图表报表:柱状图、饼状图、折线图、种种图片大全
15. 地图工具:打开地图,
鼠标点击地图某地方获取经纬度坐标,依照经纬度计算两点离开
16. 打字与印刷测试:页面打字与印刷预览测试
17.
图片管理:对批量上传的图纸统一管理,点击放大,可打开三个,自由切换,绚丽预览效果
18.
图片爬虫:输入某网址,爬出其图片浮以往页面上,能够加大预览。可保留到服务器上,到图片管理之中
19. 站内信:收信箱和发邮箱,
websocket技术通信技术做的立即收信提示,可安顿语音提醒来信
20. 下拉联合浮动:四级下拉联合浮动demo
21.
系统装置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置
22.
及时聊天:打开聊天窗口,可群聊、一对一聊天
23.
表单营造:拖拽式火速自定义构建表单,组建成分丰裕,有富文本、上传控件、下拉框等等
24.
主附结构:提供一个主表和明细表模块的例证(用本代码生成器生成的)
25.
组织单位:无限级别,集团or部门管理
26.
职员和工人管理:和公司单位单位管理,能够绑定登录系统用户,授权数据权限
27.
文件管理:上传文件,修改删除文件,总结文件大小
28.
快递查询:输入快递单号,查询物流跟踪消息。不需求选择物流公司,依照单号自动识别
  ————————————————————————————————————————-数据库管理
29. 数据库备份:可备份单表、整库,辅助当地和长途数据库备份(java界面编制程序技术,socket编制程序技术)
30.
备份定时器:quartz 2.2
强大的义务调度,八线程备份数据库,职分运行关闭异步操作
31. 数据库还原:历史备份记录,还原数据库 or 单表
,总结备份时间和文件大小
32.

Linux层包含:Android系统的宗旨服务,硬件驱动,进度管理,系统安全等等

SQL编辑器:强大的SQL编辑器,支持编辑语句复杂查询语句,生成动态报表,可导出excel

 官网 http://www.fhadmin.org/

食谱权限:分配给每一种剧中人物分裂的菜系权限,
各个剧中人物看到的食谱不相同,无限级别菜单
按钮权限:独立分配不相同的剧中人物不一致的功效权限,增加和删除改查权限分配具体到不一样的菜单,自定义按钮管理
支撑多用户分权限管理后台,  权限具体到分裂的菜系分歧的按钮(
四个用户能够多少个剧中人物**)

音信管理:新闻的护卫、发表、权重排序等
选拔百度ueditor富文本框
文告管理:公告的维护、发布
广告管理:广告的掩护、发表,状态维护,上传广告图片
友情链接:友情链接的维护、状态维护
专门推荐:尤其推荐、状态维护

**

技术点

**1. 导出 导入 excel
文件

2  导出word文件
3. IO
流上传下载文件

4.
群发邮件,能够发html、纯文本格式,能够发给任意邮箱(达成批量发送广告邮件)

5. 群发or单独
发送短信,援助三种第③方短信商接口

6. spring 
 aop  事务处理

7. 代码生成器 (freemarker), 代码 zip
压缩打包

8. MD5加密
SHA加密(登录密码用此加密)接口加密地位校验

9. 数据库连接池  阿里的
druid。Druid在监察和控制、可扩张性、稳定性和属性方面都有路人皆知的优势,辅助并发

10.加入安全框架 shiro
(登录授权)(session管理)

11.依据汉字
解析汉字的全拼(拼音)和首字母(导入excel到用户表,依据用户的汉字姓名生成拼音的用户名)

12.app接口@ResponseBody(援救与此外语言数据交互)
13.极光推送
(推送给APP及时消息,APP不运转也能接到)

14.微信接口(身份验证,文本、图像和文字回复等)
微信远程序控制制伏务珍视启、锁定、其余应用程序

15.java Quartz2.2 职分调度

16.java websocket
即时通信技术,点对点,群聊,单聊

17.Lucene**全文字笔迹检验索(在捐献赠送的项目中) 18.Base64传输图片 19.图纸加水印(图片水印,文字水印) 20.生成 or  解析
二维码 21.HTML5 + JAVAEE  WebSocket
通讯技术,**WebSocket
验证用户登录,强制某用户下线

22.批量异步上传图片,可预览,有进程条,辅助拖拽上传(百度webuploader
)。列表动态滑动放大展现。

23.ehcache 自定义二级缓存
,选用缓存存放目录,处理并发,扩充系统质量

24.服务器内部GET POST
请求

25.uploadify
上传插件,单条、批量上传四线程,带进程条,异步,图片、录制,
其余文件格式均可上传

26.地图选点获取经纬度坐标,根据俩经纬度总括距离
27.tab标签页面效果,标签自由切换,不另行操作数据库
28.站内信语音提醒,js控制音频播放
29.百度富文本编辑器,可上传图片
30.网页爬虫技术,可遵照网页地址爬取图片和网页标题等消息(爬取某百货商店图片保存本服务器)
31.redis
技术

32.多数据源技术
33.springmvc
下拉多级联合浮动技术

34.调用摄像头拍照技术,图片裁剪技术
35.快递接口查询技术,输入快递单号查询物流新闻
36.在线编辑器,仿开发工具
37.pdf文书在线预览,在线预览文本文件,转码预览
38.录像播放技术,两个人在线弹幕聊天

图片 2**

 

图片 3

图片 4

图片 5

图片 6

图片 7

图片 8

图片 9

图片 10

图片 11

图片 12

图片 13

图片 14

图片 15

图片 16

图片 17

图片 18

 

图片 19

图片 20

图片 21

 

图片 22

 

(以后又加了一层变成了:Linux内核——硬件抽象层——标准库——Framework层——应用层)

 

贰 、UI界面框架图:

图片 23

③ 、View的衡量格局:EXACTLY,AT_MOST,UNSPECIFIED。

肆 、自定义View与ViewGroup的时候理应专注什么?

自定义ViewGroup的时候应该专珍惜写onLayout来支配子类突显的地点。

假诺急需扶助wrap_content还要重写onMeasure()。

自定义View的时候,要是急需支持wrap_content,供给重写onMeasure().

5、自定义view的种类:

(1)、对已有的组件实行进行

(2)、通过结合来兑现新的控件

(3)、重写View来促成全新的控件

 

 陆 、达成滑动的法子:

(1)、通过layout方法。

(2)、通过LayoutParam来改变三个view的岗位(必须有二个父布局才能够收获到零部件的LayoutParam)。

(3)、scrollTo,scrollBy方法。(移动的是组件里面包车型地铁内容,dx和dy假如是负数的话,那么内容往正方向移动,正数则往负方向移动)。

(4)、Scroller。

(5)、属性动画。

(6)、ViewDragHelper

(7)、offsetLeftAndRight()同时对左和右实行偏移。

             offsetTopAndBottom()同时对上和下展开偏移。

七 、独立像素dp与px的折算:

android系统运用mdpi即密度值为160的荧屏作为规范,在那么些显示屏上,1px=1pd,种种分辨率直接的折算比例为:

ldpi:mdpi:hdpi:xhdip:xxhdpi=3:4:6:8:12

 

8、SurfaceView与View的区别:

(1)、View首要用来主动立异的情形,而SurfaceView首要用以被动更新的情形,例如频仍地刷新。

(2)、View是在主线程中开始展览刷新的,而SurfaceView是通过1个子线程来刷新页面包车型客车。

(3)、View在绘图的时候没有应用双缓冲机制,而SurfaceView在底层完结机制中就曾经达成了双缓冲机制。

九 、android的平安机制:

(1)、第③道防线:代码安全部制——代码混淆proguard。

(2)、第1道防线:应用接入权限决定——AndroidMainifest文件权限申明、权限检查机制。

(3)、第②道防线:应用签名机制——数字证书(Android系统不会安装没有签字的APP)。

(4)、第5道防线:Linux内核层安全体制——Uid访问权限决定

(5)、第伍道防线:Android虚拟机沙箱机制——沙箱隔断

 

⑩ 、性能优化相关的工具:

(1)、Android Link:有助于发现代码中暗藏的一些题材,比如布局嵌套太多等等。

(2)、Memory monitor:这一个是android studio自带的内存监视工具,它能够很好地援助大家开始展览内部存款和储蓄器实时解析。

(3)、TraceView:优化APP性能。

(4)、MAT工具分析APP内部存款和储蓄器状态。

 

11、Serializable与Parcelable的区别:

Serializable是java中的体系化接口,使用简单,然而付出大,类别化与反类别化进度供给大批量的I/O操作。

Parcelable是android中的系列化格局,越发适用于Android平台上,可是使用起来有点麻烦一点,可是效用高,那是android推荐的体系化情势,由此大家要首要选拔Parcelable。

Parcelable首要用来内部存款和储蓄器系列化上,通过将对象连串化到存款和储蓄设备中,或许讲对象系列化后透过网络传输也是能够的,不过经过相比较复杂,因而那两种情状下将已利用Serializable。

 

1② 、多进度会促成什么难题:

(1)、静态成员与单例形式完全失效。

(2)、同步机制完全失效。

(3)、SharedPrefrences可信赖性下落

(4)、Application多次创立

 

13、IPC的艺术有哪些,分裂是怎么样:

名称 优点 缺点 适用场景
Bundle 简单易用 只能够传输Bundle支持的数据 四大组件之间的进程间通讯
文件共享 简单易用 不适合高并发场景,并且无法做到进程间的即时通信 无并发访问情形,简单交换的数据实时性不高的场景
AIDL 功能强大,支持一对多并发通信 使用稍微复杂,需要处理好线程同步 一对多通信且有RPC需求
Messenger

功能一般,支持一对多串行通信

支持实时通信

不能很高的处理高并发情形,不支持RPC,数据通过

Messenger进行传输,因此只能够传输Bundle支持

的数据类型

低并发的一对多即时通信,无RPC需求,或者无需返

回结果的RPC需求

ContentProvider

在数据源访问方面功能强大,支持一对多

并发数据共享,可通过Call方法拓展其他

操作

可以理解为受约束的AIDL,主要是提供数据源的

CRUD操作

一对多的进程间数据共享
Socket

功能强大,可以通过网络传输字节流,支

持一对多并发实时通信

实现细节稍微有点繁琐,不支持直接的RPC 网络数据交换

1肆 、线程的两种情形:

(1)、新建:新制造了一个线程对象。

(2)、就绪:线程对象创设后,别的线程(比如 main 线程)调用了该指标的 start ()方法。这一场馆的线程位于可运转线程池中,等待被线程调度选中,获
取 cpu 的使用权 。

(3)、运行:可运维景况( runnable )的线程得到了 cpu 时间片( timeslice ) ,执行程序代码。

(4)、阻塞:

阻塞状态是指线程因为某种原因放任了 cpu 使用权,也即让出了 cpu
timeslice ,近来告一段落运营。直到线程进入可运营( runnable )状态,才有
机会再度得到 cpu timeslice 转到运营( running )状态。阻塞的气象分三种:

(一). 等待绿灯:运转( running )的线程执行 o . wait ()方法, JVM 会把该线程放
入等待队列( waitting queue )中。

(二). 同步阻塞:运营( running )的线程在赢得对象的一块儿锁时,若该联合锁
被其他线程占用,则 JVM 会把该线程放入锁池( lock pool )中。

(三). 别的阻塞:
运营( running )的线程执行 Thread . sleep ( long ms )或 t . join ()方法,大概产生了 I / O 请求时, JVM 会把该线程置为阻塞状态。            当 sleep ()状态超时、 join ()等待线程终止或许逾期、恐怕 I / O 处理实现时,线程重新转入可运维( runnable )状态。

(5)、长逝:线程 run ()、 main () 方法执行完毕,或许因不胜退出了 run ()方法,则该线程截至生命周期。寿终正寝的线程不可再次复生。