美文网首页面试Android知识面试宝典
第一次遇到比较正规的面试就被吊起来打,记录一下

第一次遇到比较正规的面试就被吊起来打,记录一下

作者: ytuio21 | 来源:发表于2017-03-07 22:03 被阅读121次

    进去先是手写一个小时的算法题,第一题是不用java String.split切割字符串,我没写当初想的是字符串分成字符数组和正则匹配,不过都有些难手写就没写了,后来想一想还可以通过另一种用,String.indexOf找到字符串然后substring切成一个个,不过当初也不知道indexOf是匹配字符还是匹配字符串的估计当场也写不出来。
    用substring大概思路是这样吧:

    public static ArrayList<String> getString(String strs,String spe){
    
        ArrayList<String> arrStr = new ArrayList();
        while(true){
            int index = strs.indexOf(spe);
            if(index>-1){
                if(index != 0){
                    arrStr.add(strs.substring(0,index-1));
                }
                strs = strs.substring(index+2,strs.length());   
            }else{
                arrStr.add(strs);
                break;
            }
                
        }
        return arrStr;
    }
    

    第二道题是找n里面最大的质数吧,找质数不算很难没想到我还是掉坑里去了。
    第三题是1000个数在区间[0,999]其中有两个是重复的,求重复的数
    第四道题是约瑟夫环,以前可能看过,可是具体实现忘了,时间问题直接贴个网上找的代码,虽然我感觉将来可能又忘了:

    public static void yuesefu(int totalNum, int countNum) {  
    
        // 初始化人数  
        List<Integer> start = new ArrayList<Integer>();  
        for (int i = 1; i <= totalNum; i++) {  
            start.add(i);  
        }  
        //从第K个开始计数  
        int k = 0;  
        while (start.size() >0) {  
            k = k + countNum;  
            //第m人的索引位置  
            k = k % (start.size()) - 1;  
           // 判断是否到队尾  
            if (k < 0) {  
                System.out.println(start.get(start.size()-1));  
                start.remove(start.size() - 1);  
                k = 0;  
            } else {  
                System.out.println(start.get(k));  
                start.remove(k);  
            }  
        } }  
    

    最后一道题是求26个字母的所有组合排列,列如:a,b,c,ab,ac,abc,ads,a-z;都是,这道题没什么思路啊,希望有做过的大牛,小牛说说。

    面试题问的是Activity的生命周期,怪我面试题看得不够:
    一,当由Activity A跳转到Activity B时的执行顺序
    A的onFreeze()>A的onPause() > B的onCreate() > B的onStart() > B的onResume() > A的onStop()
    二,当按返回按钮由Activity B返回到Activity A时的执行顺序
    B的onPause() >A的onRestart()> A的onStart() > A的onResume() > B的onStop() > B的onDestroy()
    android的启动模式,还有singletop,singletask启动时activity在顶层时会调用onNewIntent(),而他还问了在这两个模式下,同一个和不同activity startactivity和finish的生命周期,这个当时我就懵逼了,还真没研究过,后来网上找找发现android7.0在这两种启动模式的生命周期和以前的好像还有些不一样,具体的下次写demo研究研究。
    还有道Android进程间通讯,网上很多就不说了,自然能说的越详细越好。

    相关文章

      网友评论

      本文标题:第一次遇到比较正规的面试就被吊起来打,记录一下

      本文链接:https://www.haomeiwen.com/subject/vllvgttx.html