远景

电话面试

项目:数据库表怎么设计的

redis:数据类型,持久化方式

mysql:innodb, myisam的区别

多线程:线程池怎么创建使用

算法:
冒泡,选择插入排序的区别
归并排序
链表逆序

操作系统:进程的调度算法

兴业

笔试

Aop不同切面的增强在同一个连接点的执行顺序:
多种异常输出一个还是多个?
DispatcherServlet
子类转换为父类: x instanceof y: x与y是父子关系就输出为true
Mysql中的视图
abstract的子类也可以是abstract类型的吗
测试中等价类的划分
多线程interrupt

字节跳动

一面

项目:
上传一个图片的过程,怎么存图片的
图片的格式如果和图片名不符合怎么办
图片压缩

SQL:

create table if not exists salary(
 id int(20) not null auto_increment,
 name varchar(30),
 salary int(50),
 gender int(3),
 primary key(id)
 )engine=innodb default charset=utf8;insert into salary (name, salary, gender) values (“a”, 10000, 0);
 insert into salary (name, salary, gender) values (“b”, 7000, 0);
 insert into salary (name, salary, gender) values (“c”, 14000, 0);
 insert into salary (name, salary, gender) values (“d”, 5000, 1);
 insert into salary (name, salary, gender) values (“e”, 10000, 1);
 insert into salary (name, salary, gender) values (“f”, 11000, 0);
 insert into salary (name, salary, gender) values (“g”, 3000, 1);
 insert into salary (name, salary, gender) values (“h”, 10001, 1);
 insert into salary (name, salary, gender) values (“i” 6000, 0);
 insert into salary (name, salary, gender) values (“j”, 8900, 1);
 insert into salary (name, salary, gender) values (“k”, 30000, 0);select * from salary
 where salary>=10000
 group by(gender);select gender, count(gender) from salary where salary>=10000 group by gender;

分别选择男女薪水大于10000的员工的信息

并发:
ThreadLocal
一个线程没有清空ThreadLocal会怎么样

分布式

Redis:
数据类型
set, zset应用场景
redis怎么保证原子性:
对于Redis而言,命令的原子性指的是:
一个操作的不可以再分,操作要么执行,要么不执行。

Redis的操作之所以是原子性的,是因为Redis是单线程的。

Redis本身提供的所有API都是原子操作,
Redis中的事务其实是要保证批量操作的原子性。

多个命令在并发中也是原子性的吗?
不一定, 将get和set改成单命令操作,incr 。
使用Redis的事务,或者使用Redis+Lua==的方式实现

Linux:
查看端口号对应的进程:
lsof -i:端口号
netstat -tunlp |grep 端口号

-t (tcp) 仅显示tcp相关选项 -u (udp) 仅显示udp相关选项
-n 拒绝显示列名,能显示数字的全部转化为数字
-l 仅显示出在listen(监听)的服务状态
-p 显示潜力相关链接的程序名

HashMap: 扩容,什么时候线程不安全

有赞

笔试

异常类型:受检查的异常和不受检查的异常(运行时异常)
加大新生代空间大小可以降低MinorGC?可以
int i = 1-2L(long转int需要强制转换)

一面二面

linux怎么查看一个进程占用的CPU
当一个项目用运行起来占用很大的CPU怎么办
MVC用到了哪些设计模式
Spring的@Transaction注解
50位和100位的字符串相乘的时间复杂度和空间复杂度
项目中的图片做了什么处理
在浏览器输入网址到显示页面的过程
DNS查找IP地址的过程,怎么确定服务器的主机(IP地址包含主机号)

EPAM

了解垃圾回收吗
调用system.gc()会立刻回收吗
线程池用在什么场景: 线程池适合单系统的大量的异步任务处理,比如发送短信、保存日志。
HashMap用Object做key
List除了for还可以用什么方式遍历
OutOfMemory异常遇到过吗,什么情况下

美团

一面

socket编程,在哪个层

接口抽象类的区别,抽象类可以实例化吗

兴业银行java笔试题是什么类型的题目 兴业银行2021校招笔试题目_面试

//均没有报错
abstract class abA{
	public abA(){
    }
    public int i = 1;
    public static int ii = 2;
    public static final int iii = 3;
    public abstract void m();
    public void m1(){
    
    }
    public static void m2(){
        
    }
    private void m3(){

    }
    protected void m4(){

    }
}

interface interA{
    public static final int i = 3; 
    public abstract void m();
    public default void m1(){
  
    }
    public static void m2(){
       
    }

}

抽象类与接口(jdk1.8):

共同点:
可以有public修饰的抽象方法 和public static方法
可以有public static final修饰的变量
都必须有类实现或继承他们,实现类或子类才可实例化

不同点:
抽象类可以有任何类型的变量,接口中只能有public static final修饰的变量;
抽象类可以有任意类型的方法,接口中只能有由public修饰的抽象方法和用default修饰的具体方法和public static方法;
default只能修饰接口中的具体方法
抽象类可以有构造函数接口不可以

红黑树,HashMap, ArrayList(为什么HashMap底层不用ArrayList)
反射原理
Exception的父类 Exception和Error
private构造方法可以实例化吗
项目: 子评论分页
联合索引:a字段的有两个数,b字段有10个数,创建(a, b)还是(b, a)索引
了解的设计模式
mysql 执行explain后看到的key的类型

货拉拉

笔试

java.lang, java.system哪个不用import
System.out.println(10%3*2) ->打印2
TreeSet线程安全吗?
重载,方法的返回值不同并且参数不同可以吗

public class Ab{
    String str = "hello";
    char[] arr = {'a', 'b'};
    public static void main(String args[]){
        Ab t = new Ab();
        t.change(t.str, t.arr);
        System.out.println(t.str);
        System.out.println(t.arr);
        System.out.println(10%3*2);
    }
    public void change(String str, char[] arr){
        str = "haha";
        arr[0] = 'c';
    }

}

算法:从一个字符串转换为另一个字符串的最少操作数(Edit distance做不出)