2018京东校招Java笔试题
相比阿里巴巴,京东的题都是考研基础题,加上一点java基础知识和linux命令。
1. 单选题(19道题,每题2分):
1)4个并发进程都需要5个同类资源,则至少需要多少个资源,才不会导致死锁?
2)有一个user.txt文件,其中每行为一个user记录,用(sort,uniq,head,top,cat等命令组合)统计出现次数最多的3个user,及它们出现的次数。
3)序列13,18,24,35,47,50,63,83,90,115,124用二分法查找90,需要查找多少次?
4)A继承T,B继承A,List<Class<? extends T>> list=new ArrayList<>();则T,A,B类对象能放进list吗?
5)进栈顺序为1,2,3,4,5的可能的出栈序列有多少个?
6)进程的状态有等待,就绪,运行等,不可能的状态切换是?等待->运行?
7)两个重载方法func(String s)和func(Object o),若调用func(null),则调用的是哪一个,还是出现编译错误,还是运行错误?//调用参数为String的那个
8)子类,父类的初始化顺序是怎样的?
9)适配器模式是(?)的典型应用:组合模式,xx 模式,xxx 模式
2. 不定项选择(11道题,每题2分,错选0分,少选1/3分):
1)linux shell函数正确的申明和调用方式是?
2)浏览器访问www.jd.com时用到的协议包括? ARP,MAC,SMTP,HTTP?
3)jstat,jmap,jps,jstack等命令的作用分别是?
4)用awk对txt文件(每行都是一个数字)求和?
5)下列有哪些是磁盘调度算法?LRU,SCAN,SRT,SSTF
6)用于检查内存状态的linux命令包括? top,iostat...
7)"|"运算符是啥?
8)不断加入元素,平衡二叉树如何调整,最后有几层?
9)
void addone(final Myclass o) { o.i++; }
若myobj 是Myclass的一个对象,myobj.i==0,调用addone(myobj)后,myobj的i的值是多少?//myobj==1,即加1正常执行,只是o不能引用其他Myclass对象而已
10)
public class Test{ public static void main(String args[]) { new Test().fib(7) System.out.println(count); } static int count=0; public int fib(int n){ count++; if(n==0) return 1; else if(n==1) return 1; else return fib(n-1)+fib(n-2); } }
输出多少?41,40,39,42
11)网络192.168.0.0/22要划分成5个子网,则最小子网的子网掩码是?255.255.255.128,还是255.255.255.224,还是xxx?
3. 编程题(2题,每题30分):
求n以内的幂相同的式子个数,其中幂相同是指(a^b=c^d,并且a,b,c,d在区间[1,n]内)。例如n=2时,
1^1=1^1
1^1=1^2
1^2=1^1
1^2=1^2
2^1=2^1
2^2=2^2
所以n=2以内的幂相同的式子个数为6。
我没思路就写了个最简单的4层for循环,提示复杂度太高,规定时间内没运行完成,测试用例通过率为20%。