洗牌算法
洗牌算法,顾名思义,就是只利用一次循环等概率的取到不同的元素(牌)。
洗牌算法,顾名思义,就是只利用一次循环等概率的取到不同的元素(牌)。
适用于动态规划的问题,需要满足最优子结构和无后效性,动态规划的求解过程,在于找到状态转移方程,进行自底向上的求解。
ListView的实现离不开Adapter。可以这么理解:ListView中给出了数据来的时候,View如何实现的具体方式,相当于MVC中的V;而Adapter提供了相当于MVC中的C,指挥了ListView的数据加载等行为。
看看面试经常被问到的问题,帮你总结自己。
Android中的动画分为补间动画(Tweened Animation)和逐帧动画(Frame-by-Frame Animation)。没有意外的,补间动画是在几个关键的节点对对象进行描述又系统进行填充。而逐帧动画是在固定的时间点以一定速率播放一系列的drawable资源。
这里整理的是一些与技术没有直接关系的面试题,但是能够考察你的综合水平,所以不要以为不是技术问题,就不看,往往有时候就是这样一些细节的题目被忽视,而错过了一次次面试机会。
熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等。
这里讲的是大公司需要用到的一些高端Android技术,这里专门整理了一个文档,希望大家都可以看看。这些题目有点技术含量,需要好点时间去研究一下的。
Android面试题除了Android基础之外,更多的问的是一些源码级别的、原理这些等。所以想去大公司面试,一定要多看看源码和实现方式,常用框架可以试试自己能不能手写实现一下,锻炼一下自己。
大厂除了技术深度之外,还要求你具备一些广度的知识,比如你要会前端知识,会混合开发,至少会一种脚本语言,C C++更不用说了,也是必会的。
前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这...
JD-GUI 的官方地址 : http://jd.benow.ca/
对于Java开发人员来说,提供了一大堆第三方jar包,class文件,而没有源代码的话是非常痛苦的,特别是debug调试的时候,当然你...
官方网站:http://sqlitebrowser.org/,另外,这个工具还是完全开源的,开源地址:https://github.com/sqlitebrowser/sqlitebrowser
先上图:
关于DB Browser for SQLite...
首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): ![]( http://codingsky.oss-cn-hangzhou.aliyuncs.co...
本站翻译自 Android Permissions Part 1
Marshmallow提出了一套新的权限模型,在这一系列的文章中,我们将从技术上探讨如何处理权限问题,以及如何让用户体验更友好。 首...
本文档的目的是定义项目规范。这些应遵循整个 Android 项目以帮助我们保持整洁和统一的代码库。 翻译自:project_style_guidelines.md
1.什么是DPI?
DPI(Dots Per Inch):每英寸点数,表示指屏幕密度。是测量空间点密度的单位,最初应用于打印技术中,它表示每英寸能打印上的墨滴数量。较小的DPI会产生不...
RePlugin 官方地址https://github.com/Qihoo360/RePlugin
RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业...
官方地址https://github.com/alibaba/fastjson
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到...
官方地址https://github.com/alibaba/atlas
Atlas是伴随着手机淘宝的不断发展而衍生出来的一个运行于Android系统上的一个容器化框架,我们也叫动态组件化(Dynamic Bundle...
原文链接 : Data Binding - Part 5 直到现在,我们已经见识到Data Binding的很多功能了。但是还有一个很强大的特点没有介绍,那就是观察者模式的应用。 观察者模式在数据会...
原文链接 : using-the-jobscheduler-api-on-android-lollipop 在这篇文章中,你会学习到在Android 5.0中如何使用JobScheduler API。JobScheduler API允许开发者在符合某些...
原文链接 : Code Review Best Practices 在Wiredrive上,我们做了很多的Code Review。在此之前我从来没有做过,这对于我来说是一个全新的体验,下面来总结一下在Code Revie...
原文链接 : Android Graphics Pipeline: From Button to Framebuffer (Part 2) 在上一篇博文中,我们图文结合介绍了 Android 怎么把 onDraw() 方法的 Java 代码转换为 Nati...
原文链接:Instagram with Material Design concept is getting real 几个月前(这篇文章的日期是2014 年11月10日),google发布了app和web应用的Material Design设计准则...
原文链接 : Why use Observable.create() and not just inherit from Observable? 在你开始使用RxJava的时候,你需要创建Observables。它们是RxJava的核心,但是应该怎么做...
第五章 基于空间的架构 大多数基于网站的商务应用都遵循相同的请求流程:一个请求从浏览器发到web服务器,然后到应用服务器,然后到数据库服务器。虽然这个模式在用户数不...
这是一篇关于如何使用Retrofit写一个Android的REST客户端的小教程。
我为什么选择Retrofit? 在使用square的Retrofit之前,我尝试过Volley和AsyncTask。但在使用过Retrofi...