美国上市公司,专注Java培训21年

高级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、水平权限漏洞,如下图

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

解答:参考

好了,先总结到这里,还有很多忘了,也有一些不好怎么表达,仅供大家参考,勿喷~

达内java培训机构转载自网络


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多

Java开班时间

收起