【2020塔塔集团(汇丰)】Java 电话面试

6 篇文章 0 订阅

前言
这是塔塔集团那边的电话面试,因为人不在广州,跟面试官协调的,而且算是一个外包项目,估计是个老项目。

正文

1、JSP 两种跳转方式?
使用href超链接标记 客户端跳转

使用javascript 客户端跳转

提交表单 客户端跳转

使用response对象 客户端跳转

使用forward总做标记 服务器跳转

使用requestDispatcher类 服务器跳转

2、SQL 注入与预防
sql注入的原理是将sql代码伪装到输入参数中,传递到服务器解析并执行的一种攻击手法。

  1. sql预编译
  2. 严格的参数校验
  3. 使用参数化语句,不要拼接sql
  4. 特殊字符过滤

3、Spring 的两个核心注解

4、AOP

5、 Spring 的 @RequestMaping 相关属性

value:
指定请求的实际地址

method:
指定请求的method类型, GET、POST、PUT、DELETE等;

consumes:
指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces:
指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

params:
指定request中必须包含某些参数值是,才让该方法处理。

headers:
指定request中必须包含某些指定的header值,才能让该方法处理请求。

6、ORM 框架
是什么?
对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。

7、Redis 以及选举方式
哨兵模式。

8、JVM 内存模型以及堆内存的结构

9、指令重排序
内存屏障(Memory Barrier,或有时叫做内存栅栏,Memory Fence)是一种CPU指令,用于控制特定条件下的重排序和内存可见性问题。

10、类加载过程和反射机制
类加载
类加载的过程主要分为三个部分:

  1. 加载
  2. 链接
  3. 初始化

而链接又可以细分为三个小部分:

  1. 验证
  2. 准备
  3. 解析

反射机制

11、抽象与接口的区别

抽象接口
默认实现方法它可以有默认的方法实现接口完全是抽象的。它根本不存在方法的实现
关键字extendsimplements
构造器抽象类可以有构造器接口不能有构造器
访问修饰符抽象方法可以有public、protected和default这些修饰符接口方法默认修饰符是public
多继承抽象类只可以继承一个类和实现多个接口接口和接口之间是可以多继承或者单继承多实现的

11、MySQL 事务隔离级别
https://developer.ibm.com/zh/technologies/databases/articles/os-mysql-transaction-isolation-levels-and-locks/

12、MySQL 处理高并发?

13、final 、finally 、finalize 分别是什么?
1、java中final也用来修饰3类东西:变量,方法和类。
final 修饰变量表示该变量是不可变的。
final 修饰方法时表示该方法是不能被子类重写的。
final 修饰类时表示该类是不能被继承的,由于java的单继承关系,所以该类是继承关系链中的终端。

2、finally 是在异常处理时提供finally块来执行任何清除操作。
不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。

3、finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

14、设计一个千万级别的网站访问架构

参考文献
JSP页面跳转的几种实现方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值