![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓面试
文章平均质量分 56
yanchen7788
这个作者很懒,什么都没留下…
展开
-
安卓面试题总结以及基础复习
Github点击打开链接过一遍这些点面试也就差不多了,笔试的话看牛客网说的可以做一下leetcode或者《剑指offer》复习一下代码原创 2018-06-12 16:46:16 · 104 阅读 · 0 评论 -
判断一棵二叉树是否为完全二叉树
/* * 判断是否为完全二叉树: * 完全二叉树:除叶子节点外的节点都包含左右节点,此为满二叉树;不为满二叉树,但是叶子节点都集中在左边,没有节点存在有右子树但是没有左子树的情况,也为完全二叉树 * 所以要判断的情况: * 1、一个节点有右子树但是没有左子树,返回false * 2、一个节点有左子树没有右子树,此时要求此节点之后的所有节点都为叶子节点,否则返回false * * ...原创 2018-08-23 14:48:04 · 1830 阅读 · 0 评论 -
常见的排序算法总结
原地址:https://www.cnblogs.com/alsf/p/6606287.html本文使用Java实现这几种排序算法。以下是对排序算法总体的介绍。冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对...转载 2018-08-23 14:51:36 · 210 阅读 · 0 评论 -
Activity的生命周期详解
参考博客:https://blog.csdn.net/u011706736/article/details/49852971总结来说:创建->可见->获得焦点->失去焦点->不可见->摧毁从一个activity1跳转activity2的基本过程:activity1:创建->可见->获得焦点点击按钮发生界面跳转后:activity...原创 2018-08-20 17:40:51 · 101 阅读 · 0 评论 -
Activity之间的通信方式
参考博客:https://blog.csdn.net/a_running_wolf/article/details/48813995https://blog.csdn.net/a_running_wolf/article/details/48826495https://blog.csdn.net/wulianghuan/article/details/8583598#comments...转载 2018-08-23 16:09:46 · 8743 阅读 · 1 评论 -
SurfaceView的简单使用解析
转自:https://blog.csdn.net/Listening_music/article/details/6860786通过之前介绍的如何自定义View, 我们知道使用它可以做一些简单的动画效果。它通过不断循环的执行View.onDraw方法,每次执行都对内部显示的图形做一些调整,我们假设 onDraw方法每秒执行20次,这样就会形成一个20帧的补间动画效果。但是现实情况是你无法简单的...转载 2018-08-23 17:58:38 · 250 阅读 · 0 评论 -
初使用NDK的报错: Invalid Android ABI: armeabi. (armeabi is no longer supported. Use armeabi-v7axxxxxxx)
现在好像JNI的开发很热门,作为c++的渣渣的我决心入门来了解一下这到底是个什么东西一开始的配置可以看这篇博客,相信现在大多数人的版本都是2.2.以上了,所以前面的比较具体的配置过程可以当做一个了解,看到底Java是怎么跟本地c++进行沟通的。2.2以上版本的只需要在创建项目时注意下图的某些位置打钩即可:Exceptions Support:如果您希望启用对 C++ 异常处理的...原创 2018-08-28 14:35:44 · 6990 阅读 · 0 评论 -
求1000以内的水仙花数
水仙花数:n位数,每一位的n次方相加等于该数,则为水仙花数。例如:153,1^3+5^3+3^3=153。/* * 判断是否为完全二叉树: * 完全二叉树:除叶子节点外的节点都包含左右节点,此为满二叉树;不为满二叉树,但是叶子节点都集中在左边,没有节点存在有右子树但是没有左子树的情况,也为完全二叉树 * 所以要判断的情况: * 1、一个节点有右子树但是没有左子树,返回false *...原创 2018-08-24 11:54:22 · 2881 阅读 · 0 评论 -
有关KMP的next数组求解复习
这篇博客写得很详细,看了那么多关于KMP的博客觉得那最长公共前后缀来说明是最好理解next数组是干嘛的,以及其是怎么计算的。下面我附上next数组计算部分的代码,以具体的例子来说明next数组的计算过程://其中P为模板串,next数组为所求,next[i]表示P[i]的最长相同真前后缀的长度void GetNext(string P, int next[]){ int p_...原创 2018-08-24 15:58:45 · 287 阅读 · 0 评论 -
Activity的四种启动模式对比
1 standard模式 特点:1.Activity的默认启动模式 2.每启动一个Activity就会在栈顶创建一个新的实例。例如:闹钟程序 缺点:当Activity已经位于栈顶时,而再次启动Activity时还需要在创建一个新的实例,不能直接复用。 2 singleTop模式 特点:该模式会判断要启动的Activity实例是否...原创 2018-08-24 16:58:57 · 1048 阅读 · 0 评论 -
CVTE安卓笔试总结
做完哇地哭出声,单选题里好像只有两道是有关安卓的,其它都是考的java部分:GC,泛型,Java8。有一些点做得时候忘了,现在来mark一下:1、解决最短路径的算法:bellman-ford,dijkstra,spfa,floyd,详情见博客2、遍历一棵树最合适的设计模式首先了解一下各种设计模式,看这里看完就知道答案:组合模式(原话:只要是树形结构,就考虑组合模式)3、...原创 2018-09-12 15:36:45 · 1098 阅读 · 0 评论 -
虎牙安卓笔试:矩阵逆时针输出
参考博客:https://blog.csdn.net/jjjcainiao/article/details/23384447将矩阵分层,总共可以形成 min(m / 2, n / 2)层。每层分为左、下、右、上四边,按左下右上顺序循环输出各层。若min(m , n)为奇数,最后还有一部分不能构成层,需要特别处理。原来这题还是金山的笔试题(灬ꈍ ꈍ灬)#include<s...原创 2018-09-06 22:06:15 · 388 阅读 · 0 评论 -
9.17之前的安卓笔试题总结——持续更新
从周六开始,面试、笔试、宣讲会连轴转,昨天收到群面的fail通知之后,下午也不想去广工现场跟一群汉子手撕代码了,选择了爬床睡觉,过了一天的安逸日子,终于勤奋起来把之前的笔试盲点总结一下,虎牙面试的稍后再整理。希望IT行业对女生少点偏见吧————————————————————————正文分割线———————————————————————————1、TCP采用心跳报文保持连接 √...原创 2018-09-23 15:14:52 · 913 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
转载出自:https://www.cnblogs.com/su-feng/p/6659064.html这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringB...转载 2018-09-23 13:37:19 · 152 阅读 · 0 评论 -
java的特性之一——多态
转载出自:https://www.cnblogs.com/chenssy/p/3372798.html面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同...转载 2018-10-01 15:54:28 · 217 阅读 · 0 评论 -
Android动画框架学习之PropertyAnimation练习
这篇博客的例子简单明了,很容易实现,没什么坑,适合新手体验。Property Animation产生的背景: 由于Tween Animation(补间动画)只能实现简单的四种的动画(alpha、scale、rotate、translate),要想实现比较复杂的动画就难以满足需求,而且补间动画只是改变了View对象绘制的位置,而没有改变View对象本身,比如View形状的变换,如大小的...转载 2018-08-27 18:14:51 · 142 阅读 · 0 评论 -
Android动画框架学习之FrameAnimation练习
这个框架很明显,需要我们提供一帧一帧的图片,然后达到循环播放的效果,跟我们小时候看的电视的实现原理一样。下面是具体过程:1.)在res/drawable目录下一个文件lottery_animlist.xml,内容如下:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="htt...转载 2018-08-27 17:09:17 · 418 阅读 · 0 评论 -
什么是MVP模式——区别于MVC模式
参考博客:https://blog.csdn.net/swust_zeng_zhuo_k/article/details/78760947转载 2018-08-20 16:43:56 · 118 阅读 · 0 评论 -
6.Android热更新了解
热更新技术简介 大佬链接转载 2018-07-18 16:09:46 · 171 阅读 · 0 评论 -
7.如何避免OOM异常
1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。 2)为什么会OOM?为什么会没有内存了呢?原因不外乎有两点:1)分配的少了:比如虚拟机本身可使用的内存(一般通过启动时的VM参数指定)太少。2)应用用的太多,并且用完没释放,浪费了。此时就会造成内存泄露或者内存溢出。内存...原创 2018-07-18 16:43:59 · 1620 阅读 · 0 评论 -
Handler的机制描述以及过程详解11&26
Handler更新UI的方法主要有4种,我用过的是handler+runnable。主要涉及3个对象:Handler,Looper,MessageQueue大致的工作过程可以总结为:发送:handler负责发送消息,looper接收来自handler的消息并创建looper实例,looper将消息放到消息队列(message queue)中;接收:looper通过不断从消息队列中获...转载 2018-07-19 15:37:20 · 162 阅读 · 0 评论 -
==与equals的区别
【转】java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比...转载 2018-07-31 14:50:10 · 80 阅读 · 0 评论 -
13.HashMap的实现过程
参考博客:https://www.cnblogs.com/holyshengjie/p/6500463.htmlhttps://www.cnblogs.com/chengxiao/p/6059914.htmlhttps://blog.csdn.net/sinat_33536912/article/details/523503751. HashMap的数据结构数据结构中有数组和链...原创 2018-07-31 15:10:12 · 154 阅读 · 0 评论 -
SDK开发学习第一弹--ShareSdk
为了增加项目经历,所以打算把sdk开发的基础项目做一做,所以以下的也就是记录了最基础的过程,仅供新手入门。坑爹的是,现在mob出了最新的在线安装sdk,但是网上我是没找到具体教程,或者根本没看人用过,其次是辣鸡的技术文档提都没提在线安装怎么用的事,所以我还是选择到官网http://www.mob.com/下载的本地sdk,这里比较简单就不截图了,只要到下载那里点ShareSdk->Andro...原创 2018-08-06 17:41:26 · 1078 阅读 · 0 评论 -
12.Android事件分发过程
参考博客:https://www.jianshu.com/p/38015afcdb58Activity、ViewGroup、ViewActivity的事件分发过程:activity通过superDispatchTouchEvent()向ViewGroup传递事件,传递事件成功则返回true,否则返回false;若返回false,需要activity自行处理事件,因此调用onTouchE...原创 2018-08-06 14:17:55 · 166 阅读 · 0 评论 -
安卓小游戏的实现——2048
自定义view开发:https://blog.csdn.net/carson_ho/article/details/62037696亲测这篇博客的代码能用,而且步骤也讲得很清楚,代码注释也很详细,下面我只是简单地记录一下实现过程:1.gridview的重写(自定义view):先获取屏幕像素再给每个格子分配像素2.每一个格子也就是frameLayout的重写:需要根据格子的数字不同设...原创 2018-08-17 14:42:21 · 1688 阅读 · 0 评论 -
100万个数据里面找出100个最大的
参考博客:https://blog.csdn.net/beiyetengqing/article/details/8011792/*基于quicksort实现的原理如下:1. 假设数组为 array[N] (N = 1 亿),首先利用quicksort的原理把array分成两个部分,左边部分比 array[N - 1] (array中的最后一个值,即pivot) 大, 右边部分比pi...原创 2018-08-22 13:59:27 · 4314 阅读 · 0 评论 -
Android动画框架学习之TweenAnimation练习
Tween Animation(补间动画): Tween动画,通过对View的内容进行一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。动画效果的定义可以采用XML来做也可以采用编码来做。 动画类型 XML配置方式 Java代码实现方式 渐变透明度动画效果 <alpha/> AlphaAnimation 渐变尺寸缩放...转载 2018-08-27 16:27:57 · 154 阅读 · 0 评论 -
虎牙安卓一面——凉
拒了目前唯一拿到的一个offer,心凉凉地,坚信自己能拿到更满意的,终于在假期期间圆之前的面试坑了一面是在大学城的酒店,面试通知在我出去玩的时候接到的,当时就有一种预感反正我去了也不会过,所以带着一种消极的心态复习。第二天早起,去到大厅等候,我看我的序号就知道我是我们组第一个,唉,忐忑不安就去了印象比较深刻的,主要还是针对你的简历来提问,上面有啥他感兴趣就问(我现在对面试官剩下的印象就是他...原创 2018-10-07 17:10:20 · 563 阅读 · 0 评论