京东2013校园招聘软件研发笔试题
时间:2012-9-11 地点:川大
我只能说第一家公司,不是一般的火爆。不得不吐槽一下:
京东宣讲完全没有计划,只看到个下午两点半宣讲,结果跑过去,下午两点是宣讲管培的。在川大外的德克士呆了一下午。坑
估计是没考虑那么多人,一个演播厅里面人山人海,连讲台都坐满人。笔试更是人挤人。各种查手机。
技术类看到人多,竟然把题给减少了,只给半个小时答卷。第二天就有人收到面试消息,明显没有改卷。估计只看简历通知面试,看人品。
下面是从网上找来的卷子,是删减后的卷子,未删减版还有数据库题,最后还有一道让你谈谈MVC。
大题网上都能查到答案的。。
3:4、4
4、不大于log(N)的最大整数+1
1、A ,去掉变动部分
2、C
3、B
4、
往A装满6L 从A往B倒5L A留1L
B倒空 A中1L转B中
往A装满6L 从A往B倒4L A留2L
B倒空 A中2L转B中
往A装满6L 从A往B倒3L A留3L
5、
解法1:要想让新放的硬币不与原先的硬币重叠,两个硬币的圆心距必须大于直径。也就是说,对于桌面上任意一点,到最近的圆心的距离都小于2,所以,整个桌面可以用n个半径为2的硬币覆盖。把桌面和硬币的尺度都缩小一倍,那么,长、宽各是原桌面一半的小桌面,就可以用n个半径为1的硬币覆盖。那么,把原来的桌子分割成相等的4块小桌子,那么每块小桌子都可以用n个半径为1的硬币覆盖,因此,整个桌面就可以用4n个半径为1的硬币覆盖。
解法2:桌面内每个乡邻硬币之间的最短距离小于硬币直径2r,但这是一个必要不充分条件,充分条件应该是每两个硬币间距离进一步小于2*(根号2r-r),最外面的硬币边缘与桌面边缘的距离应小于 根号2r-r。如此我们认为每个硬币周围的空白地区小于以 根号2r-r 宽度的一个圆环。那么实际上只要覆盖全部n个 根号2 为半径的圆就可以了。接下来看,4个r半径的圆能覆盖的面积。取他们内部最大的正方形,其边长正好为 根号2r,也就是说四个拼在一起可以组成个边长为
2*21/2r的正方形,可以覆盖上面直径半径为 根号2r 的圆。一个可以,4N个也可以。
解法3:假如先前N个中没有重叠且边上的都超出桌子的边上且全都是紧靠着的.那么根据题意就可以有:
空隙个数Y=3N/2+3(自己推算)
每一个空都要一个圆来盖
桌面就一共有圆的数为:
Y+N=3N/2+3
=5N/2+3 <=4N(除N=1外)
所以可以用4N个硬币完全覆盖.
解法4:“新放的硬币便必定与原先某些硬币重叠”即:任意相邻的2个硬币之间的距离小于4R。那么n个圆心至少可以依“长方形的桌面”,重新排成距离等于4R的矩阵;4n个圆心至少可以依原矩阵排成距离等于4R/3的矩阵(4X4)。将硬币看成其内切正方形(边长根号2倍R),根号2倍R大于4R/3,所以4n个中心距离等于4R/3的正方形组成的矩阵,完全覆盖桌面。
1、D
2、A
3、C
4、Integer.parseInt("5")
5、面向对象是一种的程序设计方法,或者说它是一种程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。
它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
它可以有不同层次的理解:从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。
从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。
从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。