当前位置

首页 > 文学百科 > 面试技巧 > 京东商城面试

京东商城面试

推荐人: 来源: 阅读: 2.12W 次

去得比较晚,没相当宣讲那么快就结束了,然后又等试卷(试卷不够)等了一段时间,最后大半都没写。

京东商城面试

京东商城的笔试题真得很特别,没有选择,全部是填空,最后照例两道编程题。

内容主要就是数据结构,还有大量的.概念题,这个.....反正我是写不出来。

还有一个数据库实例,写一些增删改查的SQL语句,没什么难度。

两道逻辑题,悲催的不会,

一个是12个小球,其中一个重量不同,用天平称三次,把它找出来;

一个是飞机加油问题,很老的问题,一个飞机可以飞半个地球,飞机间可以互相加油,求让一个飞机飞整个地球最少要出动多少架飞机;

有兴趣的同学可以想一下,当然网上已经有现成的答案了。

最后两个编程题现在看起来不算太难,但当时就是写不出来,可能我实在是不适应现场手写代码吧,回来后很快就写出来了,放出来给大家看看。

1.求一个数组里面最大的K个数。

public class FindBigK {

public static void main(String[] args) {

int[] array=new int[]{1,5,-1,8,0,2}};//示例数组

int k=3;//设K=3

int [] out=findK(array,k);

for(int i=0;i<th;i++){< p="">

tln(out[i]);

}

}

static int[] findK(int[] array,int k){

int temp=0;

int charge=0;

int[] out=new int[k];

for(charge=0;charge<k;charge++){< p="">

int mark=charge;

int big=array[charge];

for(int i=charge+1;i<th;i++){< p="">

if(big<array[i]){< p="">

big=array[i];

mark=i;

}

}

temp=array[charge];

array[charge]=array[mark];

array[mark]=temp;

out[charge]=array[charge];

}

return out;

}

}

求得为8 5 2

2.求一个数组中相加的值最大的连续序列

public class FindBigArray {

public static void main(String[] args) {

int[] array=new int[]{-2,9,-3,4,-6,7,-6,4};//示例数组

int sum=0;

int start=0;

int end=1;

int newstart=0;

int big=0;

for(int i=0;i<th;i++){< p="">

sum+=array[i];

if(sum<=0){

sum=0;

newstart=i+1;

}else{

if(sum>big){

big=sum;

start=newstart;

end=i+1;

}

}

}

for(int i=start;i<end;i++){< p="">

tln(array[i]);

}

}

}

求得序列为 9 -3 4 -6 7

赞助商

赞助商