首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面8-15K可能会遇到的面试题

面8-15K可能会遇到的面试题

作者头像
框架师
发布2020-03-31 15:31:14
2710
发布2020-03-31 15:31:14
举报
文章被收录于专栏:墨白的Java基地墨白的Java基地

点击上方“框架师”,选择“置顶公众号”

我们一起学习进步!

正文

引言:

23号也就是周一约了3家面试,上午面了一家,下午面了一家,推掉了第三家的面试,下面说说面试内容,第一家共有6道笔试题,第二家无笔试题,面试官问了数据库索引相关内容,以及目前所做的最新项目所使用的相关技术,下面就贴上昨天遇到的面试题,小伙伴们可以试着自己做一下,如果你答题很轻松,那么我觉得你可以往8-12K方向去面试了,因为以下题目是来自两家8-15K公司的面试内容,三年经验;

  • 第一题
class A {
    static {
        System.out.println("1");
    }

    public A() {
        System.out.println("2");
    }
}

class B extends A {
    static {
        System.out.println("A");
    }

    public B() {
        System.out.println("B");
    }
}

/**
 * 需求:请说出下面程序的运行结果
 */
public class Demo1 {
    public static void main(String[] args) {
        A ab = new B();
        ab = new B();
    }
}
  • 第二题
/**
 * 第二题:编程填空
 * 需求:下面程序实现将一整数逆序后放入一数组中,例如1234,变为{4,3,2,1}
 * 请在程序A,B,C中填入正确答案使程序运行结果正确
 */
public class Demo2 {
    public static void main(String[] args) {
        int[] rs = new int[5];
        revert(rs, 12345); // 12345 变为 {5,4,3,2,1}
    }

    static int revert(int[] rs, int number) {
        return revert(rs, A, number);
    }

    static int revert(int[] rs, int i, int number) {
        if (i < rs.length) {
            rs[i] = number % 10;
            number = B;
            return revert(rs, C, number);
        } else {
            return 0;
        }
    }
}
  • 第三题
/**
 * 需求:对于一个有序数组,在数组中查找指定元素,如果存在则输出元素的位置,
 * 否则输出-1,如:[1,3,5,7,9],5,返回的索引值是(2)
 * 请在A,B,C部分填空完成需求
 */
    public static int commonBinarySearch(int[] arr, int key) {
        int low = 0;
        int high = arr.length - 1;
        int middle = 0;
        if (key < arr[low] || key > arr[high] || low > high) {
            return -1;
        }
        while (low <= high) {
            middle = A;
            if (arr[middle] > key) {
                high = B;
            } else if (arr[middle] < key) {
                low = C;
            } else {
                return middle;
            }
        }
        return -1;
    }
  • 第四题
/**
 * 需求:有N个人围成一圈,按顺序编号(1-N号),从1号开始报数(从1-3报数),
 * 凡报到3的人退出圈子,退出圈子的下一位重新从1开始报数,问最后留下来的是原来
 * 第几号;
 * 请在A,B,C,D处填空完成需求
 */
public class Demo4 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入总人数: ");
        int num = input.nextInt();
        int[] arr = new int[num];
        for (int i = 0; i < num; i++) {
            arr[i] = i + 1;
        }
        int index = 0;
        int sum = 0;
        while (A) {
            if (B) {
                C
                if (D) {
                    sum = 0;
                    arr[index] = 0;
                    num--;
                }
            }
            index++;
            if (index == arr.length) {
                index = 0;

            }
        }
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 1) {
                System.out.println("第" + (i + 1) + "留了下来");
            }
        }
    }
}
  • 第五题(数据库)
    /**
     * 需求:数据库中有一张表(Achievement),用于存储学生的考试成绩,
     * 它包含3个字段,姓名(name),课程名(course),分数(score),针对应用有三个业务规则:
     * a丶假设该校没有重名的同学(没有两个名字叫一样的同学);
     * b丶该表只存储每个学生每个科目最新的考试成绩(不存储历史考试成绩);
     * c丶同一个学生可以学习多个课程;
     *
     * 需求一:如果需要给这个表,创建一个主键,请问会建在什么列上?
     *
     * 需求二:请编写SQL语句查询出:有多少个学生有科目不及格(只需要返回一个数字即可);
     *
     * 需求三:请编写SQL语句查询出:有3科或者3科以上没有及格的同学的名单;
     */
  • 第六题(思考题)
    /**
     * 有一个长度为10000的整数,请编写程序把1-10000这一万个数字填充到该数组
     *
     * 需求一:1-10000这一万个数字必须全部填充到数组中;
     *
     * 需求二:填充进去的数据系列,要比较随机,不能有序或基本有序;
     */
  • MySQL数据库索引是什么?缺点?优点?
    /**
     * 索引的本质是什么?索引有什么优点,缺点是什么?
     * 索引是帮助MySQL高效获取数据的数据结构。因此,索引的本质是一种数据结构。
     * 在数据之外,数据库系统还可以维护满足特定查找算法的数据结构,这些数据结构
     * 以某种方式指向真实数据,
     * 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
     *
     * 优点:
     * 1、提高数据检索效率,降低数据库的IO成本;
     * 2、通过索引对数据进行排序,降低了数据排序的成本,降低了CPU的利用率;
     *
     * 缺点:
     * 1、索引实际上也是一张表,索引会占用一定的存储空间;
     * 2、更新数据表的数据时,需要同时维护索引表,
     * 因此,会降低insert、update、delete的速度;
     */

结语:面试结果还未知,但是第一家估计过不了,毕竟我还是知道自己什么段位的,第二家聊的还算愉快,但是结果也是回去等通知

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 框架师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档