面试题总结 —— JAVA高级工程师[通俗易懂]

面试题总结 —— JAVA高级工程师[通俗易懂]面试题总结——JAVA高级工程师近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们一、无笔试题不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试二、三大框架方面问题1、Spring事务的隔离性,并说说每个隔离性的…

大家好,又见面了,我是你们的朋友全栈君。

面试题总结——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、水平权限漏洞,如下图

面试题总结 —— JAVA高级工程师[通俗易懂]

假设机构有 用户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://javaforall.net/130684.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTTP协议的基础

    HTTP协议的基础HTTP协议HTTP协议一、网络基础1、TCP/IP协议族各层作用应用层传输层网络层链路层2、TCP/IP通信传输流3、关系密切的IP、TCP、DNS协议(3次握手)4、URI和URL二、简单的HTTP协议1、通过请求和响应的交换达成通信2、HTTP是一种无状态协议3、HTTP方法4、持久连接keep-alive5、cookie三、HTTP报文2、用于HTTP协议交互的信息称为HTTP报文2、…

    2022年6月24日
    38
  • 带通滤波器电路图大全(三款带通滤波器电路设计原理图详解)「建议收藏」

    带通滤波器电路图大全(三款带通滤波器电路设计原理图详解)「建议收藏」带通滤波器电路图设计(一)传统的带通滤波器设计方法中涉及了很多复杂的理论分析和计算。针对上述缺点,介绍一种使用EDA软件进行带通滤波器的设计方案,详细阐述了使用FilterPro软件进行有源带通滤波器电路的设计步骤,然后给出了在Proteus中对所设计的滤波器进行仿真分析和测试的方法。测试结果表明,使用该方法设计的带通滤波器具有性能稳定。设计难度小等优点,也为滤波器的设计提供了一个新的思路。…

    2022年6月7日
    71
  • java中字符串String格式转化成json格式[通俗易懂]

    java中字符串String格式转化成json格式[通俗易懂]一、将Sting转为Json在开发中,经常是前端发送一串数据过来之后,是通过一个参数带着一串值过来,这一串值是String格式的,但是里面的内容其实是json格式类型的,所以拿到值之后就要将该值转化成json格式,然后获取里面指定的key就可以拿到该值了。JSONObjectjsonObject=JSON.parseObject(tt);这样就可以将一串参数转化成json对象了,然后通过下面指定的key获取特定的值,如下面所示Stringimei=(String)jsonObjec

    2022年8月23日
    15
  • 订单支付[通俗易懂]

    订单支付[通俗易懂]前言文章中的图片和在摘录不是来自一篇文章,所以细节不是完全对应。可借鉴的是开发的思路:从整体的功能模块的使用; 到核心流程; 到系统实现的架构; 再到代码流程(可以采用序列图)。前两点是业务需求,后两点是功能实现。支付系统的作用https://www.cnblogs.com/veblen/p/10992167.html核心流程http://www….

    2022年5月3日
    47
  • web前端开发面试中常见的算法题(JS)

    web前端开发面试中常见的算法题(JS)前言最近在准备秋招,做过了大大小小的公司的面试题,发现除了基础知识外,算法还是挺重要的。特意整理了一些常见的算法题,添加了自己的理解并实现。除此之外,建议大家还可以刷刷《剑指offer》(但我还没刷完?,任重道远呐)。此外,左神在牛客网上也有算法课程,听了基础班的感觉还不错,起码让我这个算法小白也能快速地理解了很多问题,知识付费的时代,这个真的是良心课程了。就我个人而言的话,平时为了解决一…

    2022年6月29日
    34
  • 制作bt3启动盘_十大u盘启动盘制作软件

    制作bt3启动盘_十大u盘启动盘制作软件
    快速制作BT3U盘版
    方便,快捷简单
    无效不退款

    光盘版BT3,大概694MB,直接刻盘,然后用光盘引导,即可进入bt3,连接为:
    http://ftp.heanet.ie/mirrors/backtrack/bt3-final.iso

    U盘版Bt3,大概783MB,连接为:
    http://cesium.di.uminho.pt/pub/backtrack/bt3final_usb.iso
    <

    2022年10月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号