【面试题解析】-- 20200228Java软件开发工程师面试题解析

1. 请说出Java中的基本数据类型各占几个字节

类型 所占字节数
byte 1字节
boolean 1字节
short 2字节
char 2字节
int 4字节
double 8字节
float 4字节
long 8字节

2. 在分布式系统中你如何实现session共享?

在分布式系统中实现session共享通常都是采用token+redis缓存策略,也就是说用户在第一次访问系统时会生成一个token保存在redis缓存中并发送到客户端保存一份,当客户端再次访问时系统就能够在缓存中检索到用户请求所带上的token,这样就实现了session的共享。nginx

3. nginx的优势有哪些?

  • nginx具备高性能。
  • nginx很是轻量级。
  • 使用nginx的话能够隐藏后端服务器真实ip地址。

4. 你在开发中经常使用的排序算法有哪些?

冒泡排序、选择排序、插入排序等。程序员

5. 动态代理与静态代理有何区别?

类型 描述
静态代理 由程序员建立或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了 静态代理一般只代理一个类 静态代理事先知道要代理的是什么
动态代理 在程序运行时,运用反射机制动态建立而成 动态代理是代理一个接口下的多个实现类 动态代理不知道要代理什么东西,只有在运行时才知道