公司面试题实战(一)

1、一个栈的输入序列是12345,则下列序列中不可能是栈的输出序列的是(B )


A.23415 

B.54132

C.23145 

D.15432

答案:

B

2、总共创建了几个对象


String a="abc";  String b="abc";  那这里呢?

答案:

一个

3、TCP协议在每次建立或拆除连接时,都要交换几个报文


答案:

3次

4、x为多少?


int x=10;

x+=x-=x-x;

System.out.println(x);

答案:

20

5、下面哪个Map是排序的(A)?


A、TreeMap

B、HashMap

c、Hashtable

d、WeakHashMap

e、LinkedHashMap

6、ArrayList和LinkedList有什么区别?


答案:

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 

2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

7、写一个冒泡排序


public class Test {

    public static void main(String[] args) {

int arr[] = {9, 8, 7, 6, 5, 4, 3, 2, 1};

        sort(arr);

    }

public static void sort(int arr[]) {

for (int i = 0; i < arr.length - 1; i++) {

            for (int j = 0; j < arr.length - i - 1; j++) {

if (arr[j + 1] > arr[j]) {

int tmp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = arr[j];

}

}

}

for (int k = 0; k < arr.length; k++) {

System.out.print(arr[k]);

}

    }

}

8、写一个单例模式


public class SingleObject {

// 创建 SingleObject 的一个对象

private static SingleObject instance = new SingleObject();

// 让构造函数为 private,这样该类就不会被实例化

private SingleObject() {

}

public static  SingleObject getInstance(){

return instance;

}

}

9、在java中对象啥时间被垃圾回收


当一个对象到GC Roots不可达时,在下一个垃圾回收周期中尝试回收该对象,如果该对象重写了finalize()方法,并在这个方法中成功自救(将自身赋予某个引用),那么这个对象不会被回收。但如果这个对象没有重写finalize()方法或者已经执行过这个方法,也自救失败,该对象将会被回收。

10、金额大小写转换


public static void main(String[] args) {

String capNumber[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //capNumber[]存储大写数字汉字

String unit[] = {"","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"}; //unit[]存储每一个位数所对应的大写汉字单位  unit[0]="",方便对应。

Scanner sc = new Scanner(System.in);                  //键盘录入数据

System.out.println("请输入12位以内任意整数:");

long num;

//判断输入数据合理性

while(true){

num = sc.nextLong();

String line = num +"";

if(line.length() > 12){

System.out.println("您输入的数据位数过大!请重输:");

}else {

break;

}

int times = 0;                                      //记录除的次数

long shang = 0;                                    //记录每一次的商

long yushu = 0;                                    //记录每一次的余数

String str = "";

while(true){

shang = num / 10;                              //得到商

yushu = num % 10;                              //得到余数

if(shang == 0 && yushu == 0){                  //当商和余数同时为0时退出循环

break;

}else{                                        //否则,将商重新赋值给num,继续循环

num = shang;

}

times++;                                      //次数加1,得到每位数据

str =  capNumber[ (int) yushu]+unit[times] + str;  //将大写数字汉字和大写单位连接赋值给str

}                                                      //去除字符串中的0

str = str.replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万", "")

.replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+", "零")+"整";

System.out.println("阿拉伯数字转换成中国传统形式为: ");

System.out.println(str);                            //输出字符串

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 5,238评论 0 6
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,529评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,933评论 0 2
  • 睿阳 梅枝落尽三冬雪,琵琶吹断美人归。 一曲相思难相寄,明月万里君不回。 孤灯泯灭花间醉,鸿雁几声春已还。 空得残...
    睿阳公子阅读 1,131评论 0 1