9.18 华为技术一面

问题:
JAVA基础:
手撕代码:最长公共子串,用boolean类型的dp去做了,搞了半天没搞出来,dp的题还是要多练。

public int maxLen(String A,String B){
        int[][]dp = new int[A.length()+1][B.length()+1];
        int len  =0;
        for (int i = 1; i < A.length()+1; i++){
            for(int j = 1;j<B.length()+1;j++) {
                if (A.charAt(i - 1) == B.charAt(j - 1)) {
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                } else {
                    dp[i][j] = dp[i - 1][j - 1];
                }
                len = Math.max(len, dp[i][j]);
            }
        }
        return len;
    }

    public static void main(String[] args) {
        String a = "acbcbcef";
        String b = "abcbced";
        text x = new text();
        System.out.println(x.maxLen(a,b));
    }
  • 问了项目相关的一些内容。websocker协议的特点,是基于TCP的吗?

  • JAVA的基本类型,有关于String的一些类型?

  • StringBuffer和StringBuilder的区别?为什么StringBuffer是线程安全的?
    加了synthronized锁

  • JVM的构造,有关于JVM的调优
    类加载器子系统、运行时数据区、执行引擎、本地接口库
    JVM调优:把新生代的大小调大一点。
    什么是死锁,怎么避免死锁。
    两个线程拥有自己的资源的同时又想去占用对方的资源。
    避免死锁:破坏死锁的四个必要条件;尽量使用并发类替代自己手写锁;尽量降低锁的使用力度,不要几个功能用同一把锁。
    线程的几个状态:新建、就绪、运行、阻塞、死亡。
    线程池的几个状态:
    在这里插入图片描述

  • Mysql的左连接、右连接的区别,

  • Mysql的事务隔离级别,三范式,

  • 如何设置字段自增
    alter table 表名 modify 字段 int auto_increment;

  • 怎么求出两张表当中并集以外的部分,也就是全外连接(我想了一会,应该是不可以做的,后面面试官也说了,mysql做不到)

  • 接口和抽象类的区别,什么时候用接口,什么时候用抽象类
    例如现在有一个基类是水果,然后我要写一个香蕉、苹果等就用抽象类,但是如果特征为某某颜色,就可以用接口,也就是可以公用的状态下就接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值