精华内容
下载资源
问答
  • 常见的Java上机面试题

    2013-06-06 09:39:28
    常见的Java上机面试题,
  • java上机面试题,算法

    2021-07-19 17:04:01
    今天说阿里有面试题就是上面,小G就抛转引玉的写了下,别喷, 思路: 1、先思考下输出是什么的数据结构 2、然后进行比较数组中字符中是否都包相同字符,得出结论就是,把数组中的字符串转化字符进行排序进行比对 3、...

    题目:{“aa”,“ab”,“abc”,“bc”,“bac”,“cab”,“abc”,“123”,“321”,“1”} 数组,找出字符中相同字符为一组,进行分组,比如abc和cab就是一组

    今天说阿里有面试题就是上面,小G就抛转引玉的写了下,别喷,
    思路:
    第一:
    使用素数,把字符对应不一样的素数,素数:只有1和本身可以整除的数,然后进行相乘,最后判断结果是否相同,相同就为相同元素组成字符串
    第二:
    1、先思考下输出是什么的数据结构
    2、然后进行比较数组中字符中是否都包相同字符,得出结论就是,把数组中的字符串转化字符进行排序进行比对
    3、string转化为char,然后排序,这样防止一个个遍历,就出现复杂度O(n^2),如果排序后,在进行比较就是0(1),因为中间需要charAt有多少就需要遍历多少,所以这个地方我们家一个缓存tem

    public class SomeTest {
        public static ScheduledThreadPoolExecutor executorService=new ScheduledThreadPoolExecutor(2);
        public static void main(String[] args) {
            SomeTest someTest=new SomeTest();
           String[] dataS={"aa","ab","abc","bc","bac","cab","abc","123","321","1"};
    
            List<String> listB= Arrays.asList(dataS);
    
            List<List<String>> result= someTest.setArrayList(listB);
            System.out.println(result.toString());
    
    
        }
        //分组
        public volatile List <List<String>> tem=new ArrayList<List<String>>();
        //排序获得缓存
        public volatile HashMap<Integer,String> temp=new HashMap<>();
        //["abc","cab","cad"]
        public List<List<String>> setArrayList(List<String> lists){
            tem.add(Collections.singletonList(lists.get(0)));
            if(lists.size()==0||lists.size()==1){
                return tem;
            }
            for(int i=1;i<lists.size();i++){
                //遍历加入新的组后注解比较,因为这个是一直增加,这个如果后面不加break;可重后想前加载,比如j=tem.size;j<0;j--
                for(int j=0;j<tem.size();j++){
                    String data=lists.get(i);
                    //比较
                    if(!isSome(data,tem.get(j).get(0),j)){
                        if(tem.size()==j+1){
                            List<String> addNew=new ArrayList<String>();
                            addNew.add(data);
                            tem.add(addNew);
                            //不直接break就會出現,新增的重新變量一下tem
                            break;
                        }
                    }else {
                        List<String> set=tem.get(j);
                        if(set==null){
                            System.out.println("异常");
                            continue;
                        }
                        set.add(lists.get(i));
                        break;
                    }
    
                }
    
            }
    
            return tem;
        }
        //比较
        public Boolean isSome(String str,String someStr,int index){
            if(str.length()!=someStr.length()){
                return  false;
            }
            if(str.equals(someStr)){
                return true;
            }
            String someStrSort=temp.get(index);
            if(null==someStrSort){
                someStrSort= sort(someStr);
                temp.put(index,someStr);
            }
            String strSort=sort(str);
            System.out.println(String.format("%s 和 %s 比较",someStrSort,strSort));
            return someStrSort.toUpperCase().equals(strSort.toUpperCase());
        }
         //字符串排序
        public static  String sort(String someStr){
            someStr=someStr.toUpperCase();
            char [] temA =new char[someStr.length()];
            for(int i=0;i<someStr.length();i++){
                temA[i]=someStr.charAt(i);
            }
            Arrays.sort(temA);
            return String.valueOf(temA);
    
        }
    
    
    }
    
    

    打印:

    AA 和 AB 比较
    aa 和 BC 比较
    AB 和 BC 比较
    ABC 和 ABC 比较
    abc 和 ABC 比较
    abc 和 123 比较
    abc 和 123 比较
    123 和 123 比较
    [[aa], [ab], [abc, bac, cab, abc], [bc], [123, 321], [1]]
    
    展开全文
  • Java面试题1汇总 http://www.cnblogs.com/newpanderking/category/586434.htmlJava多线程和并发基础面试问答...mid=2...

    Java面试题1

    汇总 http://www.cnblogs.com/newpanderking/category/586434.html

    Java多线程和并发基础面试问答

    http://blog.csdn.net/foreverling/article/details/51406891

    https://mp.weixin.qq.com/s?__biz=MzIzMzgxOTQ5NA==&mid=2247484115&idx=1&sn=e3f0c81a58d271e8d2ab265ea78599a0&chksm=e8fe9edadf8917ccf890c533521d9cec26954a777ab0126db6cb7e1f3fffe6513761c4a4e23d&mpshare=1&scene=2&srcid=0928E2e36zFmJ5a8mZQNUUNu&key=4fff5d6bf50b33b33f7b70ab7233193d40e512be20308c2f8d613e94a02bb6bee20bb34e8116a7268eadae404fa6feb608de9193cdb79a039df3422693231fac9670adcc1a0f979c472e1ef7c32b011d&ascene=0&uin=Mjc5Nzc3MDE4MA%3D%3D&devicetype=iMac+MacBookPro12%2C1+OSX+OSX+10.12.2+build(16C67)&version=12020010&nettype=WIFI&fontScale=100&pass_ticket=k%2BcN5HCFGqDMp0oRFjvSAL55Ai964R3j%2BiNG00BA2AdES0LaDwp0DMKua9l4afpI

    展开全文
  • 常见的 Java 上机面试题 在程序员面试中 主要的考试形式分为笔试和上机编程考试两部分 基础是否牢固上机考试主要考查面试者的实际开发能力和技术技巧 笔试主要考查面试者的 上机编程考试要求面试者能够根据题目的...
  • 常见的 Java 上机面试题 普通 Java计算机测试 在程序员面试中主要的测试形式分为笔试和计算机编程测试笔试主要检查面试官的基础是否牢固 计算机考试主要考查被面试者的实际发展能力和技能 计算机编程测试要求面试者...
  • 上机面试题

    2017-12-28 15:22:43
    这是我公司今年的java中级工程师的面试题,有兴趣的可以下下来看看。希望对你们的面试有所帮助
  • Java上机面试小记

    千次阅读 2019-07-04 23:18:14
    最近去面试遇到机试题,其中有一是删除字符串中的指定字符,不能使用java自带的字符串方法(indexOf,substring之类的)。自己写的方法如下,也不清楚是否好用,确实限制了subString和replace思路有点僵化了。也不...

    最近去面试遇到机试题,其中有一题是删除字符串中的指定字符,不能使用java自带的字符串方法(indexOf,substring之类的)。自己写的方法如下,也不清楚是否好用,确实限制了subString和replace思路有点僵化了。也不知道charAt能不能用。也不知道面试能不能过。

    public class Demo20190704 {
    	public static void main(String[] args) {
    		  Demo20190704 demo=new Demo20190704();
    		  String str="asdcvfesae";
    		  String a=demo.removemore(str, 'a','s','f');
    		  System.out.println(a);
    	}
    	public String removemore(String str,char...cs){
    		  for (char c : cs) {
    		  		str=remove(str, c);
    		  }
    		  return str;
    	}
    	public String remove(String str,char ch){
    		  int x=0;
    		  for (int i = 0; i < str.length(); i++) {
    		   		if (str.charAt(i)==ch) {
    		    	x++;
    		 		 }
    		  }
    		  char su[]=new char[str.length()-x];
    		  int j=0;
    		  for (int i = 0; i < str.length(); i++) {
    		  		if(str.charAt(i)==ch){
    		  		 
    		   		}else {
    		    			su[j]=str.charAt(i);
    		    			j++;
    		   		}
    		  }
    		  StringBuffer sum=new StringBuffer();
    		  for (int i = 0; i < su.length; i++) {
    		   		sum.append(su[i]);
    		  }
    		  String summ=sum.toString();
    		  return summ;
    	}
    }
    
    展开全文
  • java全套面试题

    2016-06-01 09:06:25
    java全套面试题
  • public class TestAlgorithm1 { /** * 数组A为1,2,3,4,5,6,...52 * 数组B为 26个英文字母 * 用两个线程分别输出12a23b.... * * * * 可以使用自旋锁, lockSupport , 以下使用 自旋锁 */ ...
    public class TestAlgorithm1 {
        /**
         * 数组A为1,2,3,4,5,6,...52
         * 数组B为 26个英文字母
         * 用两个线程分别输出12a23b....
         *
         *
         *
         * 可以使用自旋锁, lockSupport ,  以下使用 自旋锁
         */
    
        public static void main(String[] args){
            AtomicBoolean atomicBoolean = new AtomicBoolean(true);
            int[] nums = {1,2,3,4,5,6,7,8,9,10};
            char[] chars = {'a','b','c','d','e'};
            new printNums(nums,atomicBoolean).start();
            new printChart(chars,atomicBoolean).start();
        }
    
        static class printNums extends  Thread{
            private int[] nums;
            private AtomicBoolean isNum;
    
            public printNums(int[] nums ,AtomicBoolean isNum){
                this.nums = nums;
                this.isNum= isNum;
            }
    
            @Override
            public void run() {
                int count = 0;
                for (int i=0 ;i<nums.length ;i++){
                    while (!isNum.get()){
                        //是当前线程从执行状态,变为就绪状态, cpu会从众多就绪状态中选择, 即当前线程有可能会在此执行
                        Thread.yield();
                    }
                    System.out.print(nums[i]);
                    count++;
                    if (count==2){
                        isNum.set(false);
                        count = 0;
                    }
                }
                isNum.set(false);
            }
        }
    
        static  class printChart extends  Thread{
            private char[] chars;
            private AtomicBoolean isNum;
    
            public printChart(char[] chars, AtomicBoolean isNum) {
                this.chars = chars;
                this.isNum = isNum;
            }
    
            @Override
            public void run() {
                int count = 0;
                for (int i=0 ;i<chars.length ;i++){
                    while (isNum.get()){
                        Thread.yield();
                    }
                    System.out.print(chars[i]);
                    count++;
                    if (count==1){
                        isNum.set(true);
                        count = 0;
                    }
                }
                isNum.set(true);
            }
        }
    
    }
    

     

    展开全文
  • JAVA面试题大全

    2014-03-15 15:14:17
    自己收集了JAVA所有的面试题以及上机面试题
  • java上机练习

    千次阅读 2019-05-30 14:06:44
    import java.util.Scanner; public class Test { public static void main(String[] args) { int size=6; int arr[]=new int [size]; Scanner sc=new Scanner(System.in); for(int i=0;i;i++){ arr[i]...
  • JAVA常用面试题总结

    千次阅读 2016-10-20 13:34:14
    JAVA常用面试题
  • 上海交通银行 Java面试题上机考)

    热门讨论 2013-01-10 21:39:19
    交行java面试时候的机试题,解压后test1是答案直接复制到src下可运行。
  • 2020 java经典面试题总汇.zip
  • java面试题java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    第二部分 上机题(问题) 42 1. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 42 2. 编程: 用最有效率的方法算出2乘以8等於几? 43 3. 编程: 写一个Singleton出来。 43 4. 写一...
  • java技术支持面试题

    2011-07-25 17:51:36
    java面试题,ssh,上机面试题,适用于应届毕业生面试
  • java程序员面试试题,是华为的,是为了同大家共享JAVA程序员学习的资料
  • 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx Java初级程序员面试必备的基础知识总结.docx Java基础、Java集合、多线程、JDBC、HTTP、JSP、Servlet、...
  • 企业的经典java面试题Java面试题,jsp&servlet面试题
  • Java数据库面试题

    2017-10-18 10:50:00
    Jav数据库础面试题.什么是三大范式2如何优化数据库,如何提高数据库的性能?
  • Java面试题及答案2019版(上)

    万次阅读 多人点赞 2019-07-15 16:25:48
     // true a自动拆箱成int类型再和c比较 } } 最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示: public class Test03 { public static void main(String[] args) { Integer f1 = ...
  • JUC java并发面试题

    千次阅读 2020-05-28 12:36:31
    java虚拟机里面的同步是基于进入和退出monitor对象实现的,无论是显式同步(同步代码块)还是隐式同步都是如此,同步方法并不是由monitorenter和monitorexit指令来实现同步的,而是由方法调用指令读取运行时常量池中...
  • HashMap 排序上机题 已知一个 HashMap<Integer,User>集合, User 有 name(String)和 age(int)属性。请写一个方法实现对 HashMap 的排序功能,该方法接收 HashMap<Integer,User>为形参,返回...
  • java集合 面试题

    2020-06-27 15:20:25
    HashMap 排序上机题。 已知一个HashMap<Integer, User>集合,User 有name (String) 和age (int) 属性。请写一个方法实现对HashMap的排序功能,该访法接收HashMap<Integer, User> 为形参,返回类型为...
  • java面试题机试案例

    2012-03-02 17:40:06
    java面试题机试案例
  • Java 全栈面试题

    千次阅读 2019-10-21 15:24:45
    注意事项:考试时间120分钟,满分120分。 请使用钢笔或者圆珠笔填写试题答案。 请在规定处填写您的答案,...提交格式:班级+姓名,如:Java全栈吴佳乐.docx 一、 选择(每2分,共60分) 1、Mybatis的核心是( )...
  • 1-java后端面试题答案

    2021-03-22 19:44:17
    java 后端面试题答案<1> 说明:以下所有答案均为个人的理解和网上的一些资料的整合 List 和 Set 的区别 List , Set 都是继承自 Collection 接口 List 特点:元素有放入顺序,元素可重复 , Set 特点:元素无放...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,344
精华内容 937
关键字:

java上机面试题

java 订阅