Java高级工程师面试题总结及参考答案
解答:A、水平权限漏洞,如下图
3、平台上的图片如何防盗链解答:<a href="http://blog.sina.com.cn/s/blog_701635160100l5hn.html" target="_blank">http下载防盗链原理:http协议的字段referer记录来实现 4、如何区分上传的图片是不是木马?解答:1、看上传的图片后缀 ?2、如何后缀是篡改的,那么每个文件有个魔术数字 ?<a href="http://blog.csdn.net/fenglibing/article/details/7733496" target="_blank">文件上传-魔术数字 5、消息队列的原理和实现解答:<a href="http://blog.csdn.net/blade2001/article/details/5193464" target="_blank">1、消息队列原理?? ? 2、<a href="http://blog.csdn.net/jwdstef/article/details/17380471" target="_blank">深入浅出 消息队列 ActiveMQ 七、数据库方面1、mysql查询字段区不区分大小写?解答:不区分,哪怕值也不区分(我当时还反问了,区不区分大小的应用含义有哪些,面试官没说得出来) 2、简单说说数据库集群和负载均衡、分布式(我不懂这块)解答:<a href="http://www.cnblogs.com/CareySon/p/3627594.html" target="_blank">数据库负载均衡和集群参考?,<a href="http://bbs.csdn.net/topics/390080620" target="_blank">参考2 3、存储过程的结构和优点解答:<a href="http://zhidao.baidu.com/link?url=uJqI3GqyZyVvtK33KXijtTUHfv9rVtis3vkVs3z42gRGjgQrhhuNlu4pxYjCp7Mfzr9GkpLEKn-rqGc1qs-0Cq" target="_blank">大概结构 ?<a href="http://blog.csdn.net/jackmacro/article/details/5688687" target="_blank">存储过程的优缺点 4、触发器的原理和作用解答:<a href="http://wenku.baidu.com/link?url=MPPVmAKSosAF1tRshVi9gWRfZ3Lb671JJWlOm9iW9TbpObaFhKrcF5YI_JB4Mp_s2dXxJcmGSASL1emFc5TX02spVDq61mkZcdVjtHZR2J7" target="_blank">参考 八、Java底层基础题1、SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是?DispatcherServlet , 一个请求经过?DispatcherServlet ,转发给HandlerMapping,然后经反射,对应 Controller及其里面方法的@RequestMapping地址,最后经ModelAndView和ViewResoler返回给对应视图 ?。 ?具体可参考: 2、一个类对象属性发生改变时,如何让调用者知道? 答:? ,即在set方法改变属性时,触发 ,这种模式也可以理解为观察者模式,具体查看: 3、重写equals为何要重写hashCode? 答:判断两个对象是否相等,比较的就是其hashCode,如果你重载了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。 ?hashcode不一样,就无法认定两个对象相等了 4、谈谈你对JVM的理解? 答:?Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。Java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。 JVM执行程序的过程 :I.加载。class文件 ? ,II.管理并分配内存 ?,III.执行垃圾收集JRE(java运行时环境)由JVM构造的java程序的运行环境? 具体详情: 5、Mysql的事物隔离级别? 答:Mysql的事物隔离级别 其实跟 Spring的事物隔离级别一样,都是1、Read Uncommitted(读取未提交内容), 2、Read Committed(读取提交内容),3、Repeatable Read(可重读),4、Serializable(可串行化) ? ?具体参照: 6、Spring的原理 答:Spring的核心是IOC和AOP ?,IOC是依赖注入和控制反转, 其注入方式可分为set注入、构造器注入、接口注入等等。IOC就是一个容器,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。简单理解就是:JAVA每个业务逻辑处理至少需要两个或者以上的对象协作进行工作,但是每个对象在使用它的合作对象的时候,都需要频繁的new 对象来实现,你就会发现,对象间的耦合度高了。而IOC的思想是:Spring容器来管理这些,对象只需要处理本身业务关系就好了。至于什么是控制反转,就是获得依赖对象的方式反转了。AOP呢,面向切面编程,最直接的体现就是Spring事物管理。至于Spring事物的相关资料,就不细说了,参考: 7、谈谈你对NIO的理解 答:IO是面向流,NIO是面向缓冲 ,这里不细讲了,具体参照: 8、ArrayList和LinkedList、Vector的区别? 答:总得来说可以理解为:. ? ? ?1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。?? ? ?2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。?? ? ?3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据 Vector和ArrayList类似,但属于强同步类,即线程安全的,具体比较参照: 9、随便说说几个单例模式,并选择一种线程安全的 答:单例的类别:懒汉、饿汉、枚举、静态内部类、双重校验锁 等等 , 选择线程安全我选最后一种,双重校验锁。 ?具体实现方式参照: 10、谈谈红黑树 答:算法和数据结构一直是我薄弱之处,这方面说自己补吧,成效不大,这里我就推荐一个: 11、举例说说几个排序,并说明其排序原理 答:这里我就不细说了,大家自己看看? 12、Mysql索引的原理 答:索引的作用大家都知道,就是加快查询速度,但是原理,我说不上来,这里直接看吧: 13、序列化的原理和作用 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |