美图java面试题

一面

1 创建一个对象有哪几种方式

  • new
  • 通过Class类的 newInstance() 方法
Person p2 = (Person)Class.forName("com.ys.test.Person").newInstance();
  • 通过Constructor类的newInstance方法
Person p3 = (Person)Person.class.getConstructors()[0].newInstance();
  • 利用Clone方法
Person p4 = (Person)p3.clone();

2 浅拷贝和深拷贝,拷贝一个对象有几种方式?怎样拷贝内部类对象?clone()方法。

https://cloud.tencent.com/developer/article/2132768
值类型:int double long 等
引用类型:类,接口,数组

浅拷贝
浅拷贝只复制指向某个对象的指针,而不是复制对象本身,新旧对象还是共享同一块内存。
如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址。

image.png

深拷贝
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象.

image.png

拷贝一个对象有哪几种方式

  • 引用拷贝
    引用拷贝也就是我们常用的对象赋值,这种方式不会生成新的对象,只会在原对象上增加了一个新的对象引用,两个引用指向的对象还是是同一个;
    User user1 = new User();
    User user2 = user1;

  • 浅拷贝

  • 深拷贝

clone()
Object 类提供的 clone 是只能实现浅拷贝的

2 重载和重写,重载的返回值为什么不能相同?

float max(int a, int b);
int max(int a, int b);

当调用max(1, 2);时无法确定调用的是哪个

3 解决硬编码问题有哪几种方式

动态配置

4 AB同时启动并行执行,AB执行完,C才能继续执行,有哪几种实现方式,java并发包

5 关于泛型,抽象类 A 和 B,A有方法 set(B b),B有方法 set(A b),A怎么能存储到 B 的子类的泛型

6 public,private,protect,default 的区别

public:类本身和任何包的任何类都访问
private:只有类本身可以访问,其他类想访问可以通过该类的成员方法访问如getter/setter
protected:成员可以被同一个类或同一个包下的类可以访问,不能被不同包下的类访问。

image.png

二面

1 https 安全机制,摘要签名,加密算法

2 RBAC,ACPS

3 设计一个角色权限管理系统,写出表设计 sql

4 健康防疫系统你会怎么设计,会考虑哪些技术问题?系统的瓶颈在哪

高性能:减少RPC调用,redis缓存静态数据
高并发:MQ削峰,锁,
高可用:集群部署,主从复制,读写分离,分表分库
安全:用户信息加密

5 为什么要分库

6 扫行程码,获取系统信息,密接信息,让你来实现,会怎么设计

三面

1 职业规划

2 在哪一段工作经历中成长最大

3 如何保证自己的绩效

4 如何保证需求不延期

5 找工作的时候,主要考虑什么

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容