2015:WPS笔试-Android开发岗位

题目一共三道:

一:实现一个函数,可以判断两条直线的关系:平行、重合、垂直或相交。

二:实现一个函数,可以得到任意两个日期的相隔天数。

三:针对题目一或题目二,实现一个完整的单元测试。

(笔试后在网上搜到了去年的题目,竟然完全一样、完全一样。。。可见刷题的重要性。 )

题目一:(占坑)

题目二:

当时只想到了最基本的判断,即相隔天数=相隔年数*365+相隔月份*(31/30/28/29)+相隔天数。

可惜闰年算法写错了。。。

  1. 若要判断某年份是否為闰年,请依照下列步驟执行:

    1. 若该年份可以被 4 整除,请执行步驟 2,否则请执行步驟
      5。
    2. 若该年份可以被 100 整除,请执行步驟
      3,否则请执行步驟 4。
    3. 若该年份可以被 400 整除,请执行步驟
      4,否则请执行步驟 5。
    4. 该年份为闰年(有 366 天)。
    5. 该年份不是闰年(有 365 天)。

    闰年算法:(year%4==0&&year%100!=0)||(year%400==0)

优化:

(date1.getTime()-date2.getTime())/24*60*60*1000

这样得到的天数并不是很准确,比如昨天的10点,到今天某个时间计算出来可能并不是间隔一天,而实际上间隔天数并不需要具体的时间,因此需要把时间清零来计算。

public static Long getDaysBetween(Date startDate,Date endDate){
	Calendar fromCalendar = Calendar.getInstance();
        fromCalendar.setTime(startDate);
        fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
        fromCalendar.set(Calendar.MINUTE, 0);
        fromCalendar.set(Calendar.SECOND, 0);
        fromCalendar.set(Calendar.MILLISECOND, 0);  

        Calendar toCalendar = Calendar.getInstance();
        toCalendar.setTime(endDate);
        toCalendar.set(Calendar.HOUR_OF_DAY, 0);
        toCalendar.set(Calendar.MINUTE, 0);
        toCalendar.set(Calendar.SECOND, 0);
        toCalendar.set(Calendar.MILLISECOND, 0);  

        return (toCalendar.getTime().getTime() - fromCalendar.getTime().getTime()) / (1000 * 60 * 60 * 24);
}

题目三:(占坑)

时间: 2024-08-10 14:59:40

2015:WPS笔试-Android开发岗位的相关文章

2015百度android开发岗位的一道简答题:TCP、UDP、HTTP之间的关系

题目:TCP.UDP之间的关系,TCP与HTTP之间的关系. 运输层主要为两台主机上的应用程序提供端到端的通信.在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议). TCP为两台主机提供高可靠的数据通信.它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等.由于运输层提供了高可靠的端到端的通信,因此应用层可以忽略所有这些细节.而另一方面,UDP则为应用层提供一种非常简单的服务.它只

2015年度总结--android开发

虽然农历年才是新的一年的开始,不过关于中西文化的问题这里就不讨论了,所谓“男女平权,公说公有理,婆说婆有理;阴阳合历,你过你的年.” 看到很多朋友在发年度总结,于是想想这一年我都在干什么呢,也总结一下吧 如果要说我今年所做的事究竟怎样,都有什么价值,有什么意义,实际上我无法得出结论,从公司的角度来看,我认为我所做的项目并不乐观,但好坏没有绝对,可能一段时间以后又回是另一种情况吧. 因此我还是说技术问题吧 今年主要在做一个安卓程序,先是对地图sdk的使用,由于要有离线导航功能,一开始使用高德地图,

当前Android开发人员如何提升岗位竞争力

作为一名IT行业的从业者,目前也在带移动互联开发团队,所以我来回答一下这个问题.随着移动互联网的快速发展,整个IT行业释放出了大量的Android开发岗位,由于Android开发采用了Java开发语言,所以Android开发在短期内就汇聚了大量的开发人员.但是随着移动互联网发展红利逐渐退去,目前Android开发人员的需求量也趋于平稳,岗位竞争也日趋激烈. 在当前的移动互联网环境下,Android开发人员要想提升自身的岗位竞争力,可以从以下几个方面着手:第一:进一步丰富自身的知识结构.当前不少开

在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤

原文:在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤 Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4. 2. 安装Java SDK,按照Next一步步安装,此处省略,如下图: 3. 安装Android SDK:因为在线安装的访

2015年Android开发新技术盘点

又到年末. 利用中午的时间,汇总盘点一下今年Android开发方面的新技术.感觉如今Android开发没有曾经那么纯粹了,出现了非常多新的开发模式. 2015年影响比較普遍的新技术应该就是Material Design了,毕竟如今的新手机系统基本都升到Android5.1了, 个别的手机已经升到Android 6了,其他比如DataBinding, RxAndroid.React native等的眼下还是非常小众,没有流行起来. 这几年在前端开发领域高速发展的影响下.Android开发也出现了非

Win7下Android开发环境的搭建(更新于2015/3)

Win7下Android开发环境的搭建(更新于2015/3) --JDK + Eclipse + Android SDK + ADT 的安装.配置 Android开发环境搭建并不复杂,就是资源不好下,本文针对目前win7环境下,基于JDK+Eclipse+SDK+ADT的Android开发环境的搭建进行总结. 本文所用到资源的URL如下: JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133

盛大-游戏开发岗位笔试题目心得

今天早上参加了盛大游戏的游戏开发岗位的笔试,在武汉大学进行的,跑到武汉去. 考的题目都非常基础,大概就C,C++,数据结构基础,多线程概念,软件测试和SQL基本查询.没有考任何和图形API或者游戏开发相关的基础知识.但是感觉题量略微有点大,一个半小时的时间还是很紧凑的. 最后两题论述题,其中一题是:现在多核CPU越来越成为主流,游戏开发中应如何体现? (我答的是用多线程写,多核处理器就是为多线程和异步准备的.) 最后一题是:玩家的PC上面变化多样,安装了各种各样的杀毒软体和各种各样的其他软体,应

2015年Android开发新技术

开发工具 Android Studio : Google 官方放弃 Eclipse 和Android Studio 普及.AS 虽然不算新,但是对 Android Studio 这个软件的更新速度快的惊人,有大量的新功能发布.例如支持很多注解代码提示注解.Live code template.支持自动生成 Parcelable 实现等等,作为开发者,持续关注这个更新列表 Recent Changes,一定会让你的写代码的生活更加美好. 编程语言 Kotlin: 作为 Android 领域的 Sw

今日头条Android开发岗实习生面试

实习僧上投递的简历,6.25下午投递,当天被查看,6.26上午收到面试邀请,约定面试时间7.4  14:00 没估计好路上的时间,大概1:10分左右到达,在一楼休息区等了半个小时,才上楼去前台登记面试,面试的人很多,以为要等很久,没想到刚坐下就被叫到了,emmmm,面试这个岗位的只有我一个? 一面,是个女面试官,45分钟 上来先自我介绍,然后...."我们先来写个算法吧,写个归并排序" 我的天,我都懵了好么,能怎么办,捂着我的小心脏写啊,幸好之前把几大常用算法都整理了一遍,去的路上也一