java高级开发面试题总结

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

解答: 参考






大体就这些,还有一些忘了,等记起来再补充,或者其他兄弟姐妹们遇到了,也可以私聊或者回复给我,希望能帮助到大家~ 
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到Java高级开发面试时,以下是些常见的问和答案: 1. 什么是Java的反射机制? Java的反射机制允许程序在运行时动态地获取类的信息并操作类的成员。通过反射,可以在运行时创建对象、调用方法、访问字段等。 2. 什么是Java的泛型? Java的泛型是一种参数化类型的概念,它允许在编译时指定类或方法可以操作的数据类型,提高代码的重用性和类型安全性。 3. 什么是Java的注解? Java的注解是一种元数据,它可以用于给程序中的代码添加额外的信息。注解可以用于编译时进行静态检查、运行时进行动态处理,或者生成额外的代码。 4. 什么是Java的多线程? Java的多线程是指在一个程序中同时执行多个线程,每个线程都有自己的执行路径。多线程可以提高程序的并发性和响应性。 5. 什么是Java的异常处理机制? Java的异常处理机制允许程序在出现错误或异常情况时进行处理,以保证程序的正常执行。通过try-catch语句块,可以捕获并处理异常,避免程序崩溃。 6. 什么是Java的IO流? Java的IO流是用于处理输入和输出的机制。它提供了一组类和接口,用于读取和写入数据。IO流可以用于文件操作、网络通信等。 7. 什么是Java的集合框架? Java的集合框架是一组用于存储和操作数据的类和接口。它提供了各种数据结构,如列表、集合、映射等,以及对这些数据结构进行操作的方法。 8. 什么是Java的设计模式? Java的设计模式是一套被广泛应用于软件开发中的解决问的经验总结。它提供了一些常见的设计思想和模式,如单例模式、工厂模式、观察者模式等。 9. 什么是Java的JVM? Java的JVM(Java Virtual Machine)是Java虚拟机的缩写,它是Java程序运行的环境。JVM负责将Java字节码转换为机器码,并提供内存管理、垃圾回收等功能。 10. 什么是Java的并发编程? Java的并发编程是指在多线程环境下编写程序,以实现并发执行和共享资源的安全访问。Java提供了一些并发编程的工具和类,如锁、条件变量、线程池等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值