面试题总结——走向JAVA高级工程师

近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们

一、无笔试题

不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试

二、三大框架方面问题

1、Spring 事务的隔离性,并说说每个隔离性的区别

解答:Spring事务详解

2、Spring事务的传播行为,并说说每个传播行为的区别

解答:Spring事务详解

3、hibernate跟Mybatis/ ibatis 的区别,为什么选择?

解答:Hibernate与Mybatis的比较

4、Struts跟Spring mvc的优缺点,让你选会如何选

解答:Spring MVC 与 Struts的区别

5、简单说说Spring 事务机制

解答:Spring事务机制

6、Spring 4.0新特性

解答:Spring4新特性

三、负载均衡、集群相关

1、weblogic 负载均衡的原理和集群的配置

解答:a、WEBLOGIC负载均衡原理    b、负载均衡和集群的配置(参考)

2、Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

解答:配置参考

3、nginx配置文件详解——nginx.conf

解答:Nginx配置文件详细说明

四、项目优化相关

1、web如何项目优化

解答:这个我整理过一次,web项目性能优化(整理)

2、单例模式有几种? 如何优化?

解答:单例模式的7中用法

3、简单说说线程池的原理和实现

解答:线程原理及实现

五、并发和安全方面

1、项目并发如何处理?(我们是web项目)

解答:高并发量网站解决方案,另外,还有数据库乐观锁,数据库读写分离、使用消息队列、多用存储过程等等

2、简单说说功能权限存在的水平权限漏洞和垂直权限漏洞的场景和解决办法(因为我们目前权限级别就是功能权限)

解答:
A、水平权限漏洞,如下图

假设机构有 用户A和用户B 两个用户,其中A有1、2和3权限 ,  用户B有 2 和3 的权限,这时候假设用户B 知道1,并给自己添加1的权限,这时候就是水平权限漏洞。
目前解决办法:1、限制入口,让用户B无法编辑自己的权限   2、对用户B无法进行向上扩展。最根本的解决办法是深入到数据权限
解答:

B、垂直权限漏洞
解答:垂直权限漏洞案例和解决方案

3、平台上的图片如何防盗链

解答:http下载防盗链原理:http协议的字段referer记录来实现

4、如何区分上传的图片是不是木马?

解答:1、看上传的图片后缀  2、如何后缀是篡改的,那么每个文件有个魔术数字  文件上传-魔术数字

5、消息队列的原理和实现

解答:1、消息队列原理     2、深入浅出 消息队列 ActiveMQ

六、数据库方面

1、mysql查询字段区不区分大小写?

解答:不区分,哪怕值也不区分(我当时还反问了,区不区分大小的应用含义有哪些,面试官没说得出来)

2、简单说说数据库集群和负载均衡、分布式(我不懂这块)

解答:数据库负载均衡和集群参考参考2

3、存储过程的结构和优点

解答:大概结构
存储过程的优缺点

4、触发器的原理和作用

解答:参考

原文地址:https://www.cnblogs.com/alilcu/p/9257580.html

时间: 2024-09-29 06:14:00

面试题总结——走向JAVA高级工程师的相关文章

面试题总结 —— JAVA高级工程师

面试题总结--JAVA高级工程师近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们 一.无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二.三大框架方面问题 1.Spring 事务的隔离性,并说说每个隔离性的区别解答:Spring事务详解 2.Spring事务的传播行为,并说说每个传播行为的区别解答:Spring事务详解 3.hibernate跟M

java高级工程师开放面试题集<二>

临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java后端开发.以开放性题目为主,没有标准答案. 上篇<java高级工程师开放面试题集<一>> 本次是第二篇: 6.缓存相关 如何设计实现LRU缓存? Least Recently Used,最近最少使用缓存. 思路: 6.1.每个key 需要有value,最近的使用时间戳 6.2.面向对象

java高级工程师(二)

一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 DispatcherServlet ,转发给HandlerMapping ,然后经反射,对应 Controller及其里面方法的@RequestMapping地址,最后经ModelAndView和ViewResoler返回给对应视图  .  具体可参考:Spring MVC的工作原理 2.一个类对象属性发生改变时

面试总结——Java高级工程师(二)

一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 DispatcherServlet ,转发给HandlerMapping ,然后经反射,对应 Controller及其里面方法的@RequestMapping地址,最后经ModelAndView和ViewResoler返回给对应视图  .  具体可参考:Spring MVC的工作原理 2.一个类对象属性发生改变时

JAVA常见面试题及解答-java开发

JAVA常见面试题及解答 Java的垃圾回收总结  浅谈Java中的内部类 1)transient和volatile是java关键字吗? 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多

经典面试题回答——学习Java基础的目的

本系列知识解释:相信每一个学习Java的人都是从JavaSE开始的,也就是Java基础开始.但是却并不清楚学习Java基础到底有什么用? 首先我来回答这个问题,学习Java基础是有两个目的: 一.掌握基本的Java语言底层编码方法,同时掌握Java这门语言的编程思想,为了后期学习JavaEE打下基础,要不然在学习JavaEE的时候,连封装,继承,多态都不懂,那就实在是没法说了(相信在传智播客学习过Java基础的同学,这些都不是问题.) 二.在学习完JavaSE和JavaEE后招工作的时候能够答上

java面试题及答案java面试题及答案

java面试题及答案(基础题122道,代码题19道) JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始

面试题_关于Java泛型的面试题

1. Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中.那些拥有Java1.4或更早版本的开发背景的人 都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便.泛型防止了那种情况的发生.它提供了编译期的类型安全,确保你只能把正确类型的对象放入 集合中,避免了在运行时出现ClassCastException. 2. Java的泛型是如何工作的 ? 什么是类型擦除 ? 这是一道更好的泛型面试题.泛型是

2015考研 杭电 计算机学院 复试笔试题第一题 JAVA语言解法

杭电 2015年考研 计算机学院 复试笔试第一题 JAVA解法 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; /* 杭电2015年 计算机学院 复试 笔试题第一题 JAVA解答 * author 刘汪洋 QQ 605283073 * 求出:字符串如:"34223abd#34SB-11--" * 中整数的和 其中-在数字前表示负号,否则为字符 */ pub