java高级开发面试题总结

2023-11-19

面试题总结——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、触发器的原理和作用

解答: 参考

大体就这些,还有一些忘了,等记起来再补充,或者其他兄弟姐妹们遇到了,也可以私聊或者回复给我,希望能帮助到大家~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java高级开发面试题总结 的相关文章

随机推荐

  • goto编程练习

    for 的初始化要放到JUMP上边 不然i会一直为1 for 的i 也不能放到括号里边 不然i永远为0 1 include
  • 200smart第二课基本编程

    一 程序块 主程序main和子程序 主程序是执行程序的入口 没有主程序就不知道程序从哪里开始 子程序是一个大型程序中的某个代码 一般是完成某个算法 二 符号表 给变量定义 当我们在编程的时候 需要定义一些符号名称 如下图 程序运行 注释使程
  • MFC重载鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息

    1 重载OnMouseMove 消息 在消息的实现中添加代码 void CMainWindow OnMouseMove UINT nFlags CPoint point TRACKMOUSEEVENT tme tme cbSize size
  • 爬虫与反爬虫技术简介

    互联网的大数据时代的来临 网络爬虫也成了互联网中一个重要行业 它是一种自动获取网页数据信息的爬虫程序 是网站搜索引擎的重要组成部分 通过爬虫 可以获取自己想要的相关数据信息 让爬虫协助自己的工作 进而降低成本 提高业务成功率和提高业务效率
  • @JSONField 解决json字符串转对象,对象属性名与json中key不一致,如何接收数据问题

    背景 我有个对象 过来个json 想用这个对象接收json中的值 对象中属性名与json中key值不一致 实现 这个时候 JSONField注解就派上用场了 不能直接放在属性上 要放在set方法上 模拟 1 搞个对象 属性名分别为name
  • 【靶场】upload-labs Pass-02

    考纲 本pass在服务端对数据包的MIME进行检查 在右上角点击 查看提示 中看到 一 上一关 靶场 upload labs Pass 01 二 大马 介绍两款 php 大马 因为 一句话木马看不上 如果师傅有其他好用的 大马 还望师傅在评
  • QT添加qss文件和资源文件

    先右键项目 选择 Add New 选择一个模板 选择 Qt 模板 再选择 Qt Resource Files 点击 Choose 填上资源文件的名称 默认添加项目路径下 后面的步骤默认即可 点击完成 新建完成了资源文件后 默认会进入 res
  • 运放稳定性连载21:电容性负载的稳定性——具有双通道反馈的RISO(2)

    现在 我们必须测量如图10 6所示的Zo 小信号AC开环输出阻抗 该Tina SPICE测试电路将测试空载OPA177的Zo R2和R1以及LT为低通滤波器函数提供了一条AC通道 这样 使得我们能将DC短路和AC开路一起并入反馈电路 DC工
  • ssh报错no key alg(关于低版本连接高版本ssh)

    高版本 8 4 低版本 4 3 按照网上的方法试过 通过ssh keygen命令重新生成ssh主机秘钥 可以不用重启sshd服务 ssh keygen t rsa f etc ssh ssh host rsa key ssh keygen
  • NoReverseMatch: Reverse for ‘data‘ not found . ‘data‘ is not a valid view function or pattern

    Django gt python manage py runserver时报错 NoReverseMatch Reverse for data not found data is not a valid view func tion or
  • 制作一辆“自动驾驶”平衡自行车需要用到哪些知识

    目录 先看下小车效果 小车电路设计 相关软件工具 keil C语言设计编码调试工具 主要 mcuisp 代码烧录工具 一般使用一种烧录工具就可以 STM32 STlink stlink烧录工具 STM32 Cube pro 烧录工具 ope
  • C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现

    本文是转载的 正版是https blog twofei com 496 欢迎去看正版 C 中的虚函数 表 实现机制以及用C语言对其进行的模拟实现 前言 大家都应该知道C 的精髓是虚函数吧 虚函数带来的好处就是 可以定义一个基类的指针 其指向
  • OceanBase使用范例

    http www mysqlops com 2011 08 31 oceanbase use html OceanBase的使用类似于关系型数据库 需要预先创建schema 关于schema的格式 请参见schema说明 假如我们有以下sc
  • c#Socket 异步通讯(客户端与服务端)

    c Socket 异步通讯 多个客户端与服务端 最近公司有个项目 涉及到的通讯对象有点多 就拿其中一个库的通讯来说就用到了3个PLC 这里就涉及了一个服务器与多个客户端之间的通讯了 同时上位机既需要做客户端 也需要做服务端 因为跟PLC之间
  • HTTP响应详解, HTTP请求构造及HTTPS详解

    HTTP响应详解 认识 状态码 status code 状态码表示访问一个页面的结果 是访问成功 还是失败 还是其他的一些情况 以下为常见的状态码 200 OK 这 是一个最常见的状态码 表示访问成功 抓包抓到的大部分结果都是 200 例如
  • numpy load npz文件

    一 问题 numpy version 1 23 0 优化项目的是时候发现索引一个dict的时候很慢 因此进行分析 速度很慢的问题代码如下 arr dict np load test npz npz 100MB for i in range
  • 神州网信远程、关闭屏幕时间、关闭神州网信密码

    一 远程查看电脑 按 windows r 输入gpedit msc 运行组策略 gpedit msc 进行下面的操作 1 计算机配置 管理模板 Windows组件 远程桌面服务 远程桌面会话主机 连接 允许用户通过使用远程桌面服务进行远程连
  • Qt creator4.8.0 以上使用SqLite数据库进行数据操作

    文章目录 前言 一 在 pro工程文件中添加sql模块 二 使用步骤 1 添加头文件 2 链接并打开数据库 3 创建用户信息表management info 4 插入数据操作 5 修改数据库操作 6 查询数据库 总结 前言 Qt creat
  • 基于MATLAB的filter的使用,低通、带通和高通滤波器设计

    1 目的 学习MATLAB的filter函数的使用 通过设计低通 带通和高通滤波器对其进行仿真 2 用到的主要函数和工具 MATLAB FDATOOL filter fft 3 设计 信号的产生 Parameter Interface Fr
  • java高级开发面试题总结

    面试题总结 JAVA高级工程师 近期考虑换工作的问题 于是投简历面试 面试5家公司的高级Java工程师 有4家给了我offer 想着总结一下面试经验 方便最近正在寻求机会的你们 一 无笔试题 不知道是不是职位原因还是没遇到 面试时 都不需要