肖sir___阿里面试题__笔试题

身份证:330184198903193110
籍贯:浙江省杭州市余杭区良渚街道
之前薪资12K
期望薪资13K
最近公司地址:杭州市西湖区文一西路522号(杭州百图科技有限公司)
之前公司地址:杭州市拱墅区赵伍路325号(杭州行以致远有限公司)
现住地址:杭州市余杭区良渚街道运河锦庭
学校地址:宁波经济技术开发区庐山东路388号


1、有一个String 例如a= "123,345,567",用“,”分割开,现在请你写一个类,声明一个函数,这个函数的入参就是类似a这样的String,将这个String,分割成["123","345","567"]这样的List返回,并且自己在这个类里写main函数测试。

#ava.util这个包下面的东西都是工具类
import java.util.ArrayList;   #引入ArrayList类   #ArrayList底层是数组结构的一个集合容器,是Collection接口下List接口下的子类
import java.util.HashSet;  #引入 HashSet 类
import java.util.List; #引入 list类
import java.util.Set;#引入et 类

public class TestDemo {     #定义  测试类

public static void func1(){  #定义个一个func1的方法
String a = "123,345,567";   #定义字符    a="123,345,567"
String[] array = a.split(",");  #定义一个 数组   ,a中split分割,使用,
List<String> list=new ArrayList<String>();  #
for (String b : array){
list.add(b);
}
System.out.println(list);
}

public static void main(String[] args) {
func1();
}
}

 


2、在题1的基础上,如果当前这个a是有重复的内容,例如 "123,123,345,345,567",题1返回的list里不能有重复的内容,即最后的结果仍然是["123","345","567"]。要求同题1。
import java.util.HashSet;
import java.util.Set;

public class TestDemo {

public static void func2(){
String a = "123,123,345,345,567";
String[] array = a.split(",");
Set<String> set = new HashSet<String>();
for (String b : array){
//通过set去重操作
set.add(b);
}
System.out.println(set);
}

public static void main(String[] args) {
func2();
}
}

3、编写一个函数,用于判断字符串是否回文,首尾字母相同是回文,比如abcba是回文,abcde不是。要求同题1、2。
import java.io.IOException;

public class Main {

public static boolean func(String str) {
StringBuilder s1 = new StringBuilder(str);
s1.reverse(); //通过反转的方法判断是否为回文数
String s2 = new String(s1);
if (str.equals(s2)) {
return true;
} else {
return false;
}
}
public static void main(String[] args) throws IOException {
String str1 = "12321";
int aaa = 12324;
String str2 = String.valueOf(aaa);
System.out.println(func(str1));
System.out.println(func(str2));
}
}

===================================

编写一个程序,启动三个线程,三个线程的ID分别是A,B,C; 每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC...

package fz;

public class abc {
    public static void main(String[] args) {
        new Thread(new OrderThread(0,'A')).start();
        new Thread(new OrderThread(1,'B')).start();
        new Thread(new OrderThread(2,'C')).start();
    }
}
class OrderThread implements Runnable {
    //定义一个类静态变量的锁对象
    private static Object o = new Object();
    //类静态变量、用来记录是哪个线程进入运行
    private static int count = 0;
    //每个线程的标识,名称
    private char ID;
    //用来控制是线程运行的标识
    private int id;
    //每个线程运行的次数
    private int num = 0;

    public OrderThread(int id,char ID) {
        this.id = id;
        this.ID = ID;
    }

    public void run() {
        synchronized (o) {
            while (num < 5) {
                if(count % 3 == id){
                    System.out.print(ID);
                    ++ count;
                    ++ num;
                    o.notifyAll();
                }
                else{
                    try {
                        o.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

 解释:首先我定义一个Thread1类,然后实现Runnable接口,并且通过创建一个锁对象O,这个count用来记录是哪个线程进入运行,这个ID是用来控制是线程运行的标识,小写的id是每个线程运行的次数,然后再定义一个run方法,通过synchronized锁来控制锁对象O,然后判断每个线程运行的次数小于3就进入循环,然后,判断用来记录是哪个线程进入运行取余3等于id的话,就打印出每个线程的标识,名称ID,并且count和num都自增长一次,然后通过锁对象调用notifyAll方法唤醒行程。  然后下面就是通过创建一个main函数,主函数来创建3个线程,通过start方法来启动。

====================================

 蚂蚁面试面试题:

1、自我介绍下?

2、讲下自己工作、测试哪些内容、遇到什么问题、工作怎么开展?

3、java中sprint 和sprint  boot 的区别?

4、java中ioc  和aop 式什么?解释下?

5、你做过哪些自动化测试?讲完python的自动化

6、java自动化的框架用过哪些?具体用到哪些类?

7、你讲下在工作中具体使用java自动化?

8、java的数据类型有哪些?

 =================================

1.优惠券满减的测试点
2.aop和ioc的底层实现原理是什么?
3.Java多线程知道吗?
4.Java里面的锁有哪些?==》悲观锁和乐观锁,可重入锁和不可重入锁,公平锁和非公平锁,自旋锁,共享锁和独享锁
5.String 、 StringBuffer 、 StringBuilder 区别
6.Java接口自动化的框架分层是怎样的
7.Java接口框架里面自己封装了哪些工具类 ==》random生成随机测试数据的,读取配置文件的,jdbc连接数据库的
8.Java的spring框架知道吗?
9.Java的spring框架里面的bean是怎么理解的
10.会拉取开发的工程代码去调试吗,比如自己debug一下找找bug
11.Java中hashmap底层实现原理
12.Java中hashmap底层Hash冲突以及如何解决Hash冲突
13.悲观锁和乐观锁的区别讲一下
14.Java接口自动化写的接口用例大概讲一下,用了什么框架
15.讲一下项目
16.用了什么数据库,左连接和内连接和全连接的区别
17.怎么搭建的测试环境,说一下熟悉的Linux命令
18.结婚了吗?公司几个测试,有独立负责过项目吗?
19.现在住哪里

 
posted @ 2022-11-28 11:01  xiaolehua  阅读(63)  评论(0编辑  收藏  举报