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

解答:参考

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

时间: 2024-10-14 06:38:23

面试-Java高级工程师的相关文章

面试总结——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高级工程师近期考虑换工作的问题,于是投简历面试,面试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架构师--链家网

本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了.因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间都是在做.NET相关的技术工作,并且自己所负责过的项目规模都是比较小,并且差异也较大.在高并发性,高伸缩性的互联网网站的架构方面没有太多的经验,只是在之前空闲时阅读李智慧老师的<大型网站技术架构>一书给了我不少的启发.面试过程比较简单,首先是笔试,架构师职位主要是一些知识的理解,也有一些数据库查询

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

面试前面也总结了一和二, 这第三篇可能更偏向于是内心的独白篇和面试技巧总结吧..... 一.独白 之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试别人我喜欢问项目中他用到了那些,然后针对用到的技术去问一些问题,或者说对于某些场景的一些技术实现方案是我特别喜欢问的,比如当你的接口服务数据被人截包了,你如何防止数据恶意提交?    相对来说,Java的底层和基础会问的少一点,当然问的少不是代表不问,而是说侧重点在于你的所做过的项目和你的设计思路如何

Java高级工程师面试总结

面试技巧1.背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目.技术都无法描述清楚的话,我想没有哪家公司会接受这样的,哪怕你是超级人才,你自我表述不行,估计也会为此头疼,所以,切记:一定要背好自己的简历,不要求你能全部记下,至少要熟记你最近所待过的两家公司,这两家公司里面你做过的项目,你负责的模块,项目里面用到的技术以及相对应的技术实现方案(这个尤为重要). 2.深入了解并熟记部分Java基础知

一个java高级工程师的进阶之路

宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究.您应该多研究一下JDBC.IO包.Util包.Text包.JMS.EJB.RMI.线程.如果可能,希望您 对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了. 二. 设计模式.其实写代码是很容易的事情,我

细节!重点!易错点!--面试java基础篇(一)

今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在main方法之前执行. 3.java程序的初始化顺序:原则:静态优先于非静态,且只初始化一次:父类优先于子类:按照成员定义顺序初始化.例顺序:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数. 4.