面试经验2.28

1:linux中 drwxr-xr-x是什么意思?

第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道。

后面的分三个三个来看,即 rwx 、r-x 、r-x。

第一个:  文件所有者 :r 是可读,w 是可写,x 是可执行,rwx 意思是可读可写可执行。

第二个:  同组用户:r-x 是可读可执行不可写。

第三个:  其他用户,r-x 是可读可执行不可写。

所以 710的权限等于 文件所有者的权限为读写执行,文件所有者所在组的权限为只可执行,其余人没有权限。

2:衡量算法优劣性的重要指标:健壮性,正确性,可读性,时间复杂度,空间复杂度

3:html的行内元素有哪些?

比如:<b> ,<br>,<a>,在一行内的元素

4:JavaScript用正则表达式 在banana中找到na的位置?

function myFunction() {
    var str = "Visit Runoob!"; 
    var n = str.search("Runoob");
    document.getElementById("demo").innerHTML = n;
}

5:如何优化数据库?

https://www.cnblogs.com/luokakale/p/7242839.html

选取最适用的字段属性,使用连接(JOIN)来代替子查询(Sub-Queries),使用联合(UNION)来代替手动创建的临时表,事务,锁定表,使用外键,使用索引,优化的查询语句。

6:怎么维护数据库?

备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令。

7:求1+2+3+...+n 不能用循环。

public int Sum_Solution(int n) {
         int sum = n;
         boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0);
         return sum;
     }

8:一组有正整数有负整数的数组,根据绝对值使用快排进行排序:

结合了https://www.cnblogs.com/hjy9420/p/5032309.html的答案

package cn.catk.test;

import static java.lang.Math.abs;

public class Sort {

    static public void sort(){
        int a[] = new int[10];
        for(int i = 0;i<10 ;i++){
            a[i] = (int)(Math.random()*20-10);
        }
        for(int i = 0;i<10 ;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
        //msort(a);
        qsort(a,0,9);
        for(int i = 0;i<10 ;i++){
            System.out.print(a[i]+" ");
        }
    }

    static public void msort(int[] a){
        int temp;
        for(int i=0;i<10;i++){
            for(int j=0;j<10-i-1;j++){
                if(abs(a[j]) > abs(a[j+1])) {
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }

    }

    static public void qsort(int[] a,int low,int high){
        int start = low;
        int end = high;
        int key = a[low];


        while(end>start){
            //从后往前比较
            while(end>start&&abs(a[end])>=abs(key))  //如果没有比关键值小的,比较下一个,直到有比关键值小的交换位置,然后又从前往后比较
                end--;
            if(abs(a[end])<=abs(key)){
                int temp = a[end];
                a[end] = a[start];
                a[start] = temp;
            }
            //从前往后比较
            while(end>start&&abs(a[start])<=abs(key))//如果没有比关键值大的,比较下一个,直到有比关键值大的交换位置
                start++;
            if(abs(a[start])>=abs(key)){
                int temp = a[start];
                a[start] = a[end];
                a[end] = temp;
            }
            //此时第一次循环比较结束,关键值的位置已经确定了。左边的值都比关键值小,右边的值都比关键值大,但是两边的顺序还有可能是不一样的,进行下面的递归调用
        }
        //递归
        if(start>low) qsort(a,low,start-1);//左边序列。第一个索引位置到关键值索引-1
        if(end<high) qsort(a,end+1,high);//右边序列。从关键值索引+1到最后一个
    }

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

 

9:java中二进制怎么表示,八进制呢,十六进制呢?

二进制用ob做前缀,八进制用0做前缀,十六进制用0x做前缀。

10:linux中复制文件,移动文件的命令是什么?linux常用命令。

复制文件cp 移动文件mv 删除文件rm 

11:sql中 视图是用来干什么的?

视图相当于表的副本,可以是一个表的,也可以是几个相关联的表提取出来的一个视图,主要是用来显示数据的,修改视图对数据库表没有影响。

 

posted @ 2019-03-01 00:27  白诗  阅读(153)  评论(0)    收藏  举报