京东面试题

问了Java、Spring、Hibernate、Struts等的原理;1面偏技术面,Java框架、多线程、数据库等问题;2面偏应用,考察编程习惯、方式等,大部分是设计模块、系统的问题,涉及分布式、高并发、大数据方面,还有关于团队协作的问题:假设你带了n个人的团队,在分配任务、检查成果、团队出现问题等方面该如何处理;3面主要是聊天,这时差不多已经确定大致可能去哪个或哪几个团队了,面试应该是看性格、观点和企业文化、团队精神是否相悖,同时也交流一些关于产品、技术的看法,考察应聘者对团队做事风格的认同程度等等;最后还有HR面,主要是跟HR谈薪酬。
面试官提出的问题

问题1:
    现在为什么很多开发者选择SpringMVC?SpringMVC比Struts 2好吗?
回  答:
    1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类。3. 参数传递:struts是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。4. 设计思想上:struts更加符合oop的编程思想, spring就比较谨慎,在servlet上扩展。5. intercepter的实现机制:struts有以自己的interceptor机制,spring mvc用的是独立的AOP方式。6. 另外,spring mvc的验证也是一个亮点,支持JSR303,处理ajax的请求更是方便,只需一个注解@ResponseBody ,然后直接返回响应文本即可。7. struts2采用的传统的配置文件的方式,并没有使用传说中的0配置;spring mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。

众所周知,jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考。
两者特点:
href方式加载数据的特点:被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段。加载远程url时有遮罩效果,也就是“等待中……”效果,用户体验较好。当加载的页面布局较为复杂,或者有较多的js脚本需要运行的时候,编码往往就需要谨慎了,容易出问题,后面会详细谈。content方式加载数据的特点:比较灵活,你可以在脚本里面拼写html代码,然后赋值给tab的content属性,不过这种写法会使得代码易读性变差。可以把iframe赋给content,把一个iframe嵌入也就没有什么不能完成的了使用iframe会造成客户端js重复加载,浪费资源,比如说你主页面要引用easyui的库,你的iframe也要引用,浪费就产生了。
简单总结:根据上面的分析,使用content的方式较为简洁,而且可以引入iframe来搞定一切,缺点也很明显,系统较为复杂的话,将带来极大地资源浪费,只适合较为简单的页面系统;而href方式则对编码能力要求的稍微高一些,因为html的片段,稍微不注意就会处理不好,不过熟练的话,个人觉得href方式是不二之选。常见问题:1.href只加载目标URL的html片段

问题1:
    struts2拦截器与spring 的AOP有什么区别?
    但对于底层实现方式来说有细微的区别!拦截器是AOP的一种实现,struts2 拦截器采用xwork2的interceptor!而spring的AOP基于IoC基础,其底层采用动态代理与CGLIB代理两种方式结合的实现方式。

7月经朋友内部推荐过去成都研究院面试,到达研究院后未做题直接开始面试。
面试官人不错,问的问题也比较基础,主要涉及内容包括:
1 项目经验。对自己做过的项目以及职责进行详细介绍
2 数据结构,包括List,Map ,set 等
3 线程方面
4 数据库方面(此处回答的不好,面试前准备的较为仓促,几个比较基础的问题回答的不太肯定)
5 框架方面,spring以及struts处理流程,以及IOC AOP
6 java基础,部分关键字的作用,以及几个基本类型的算术题
7 JVM 内存模型,垃圾回收算法等
8 系统优化,如何优化一个项目,从哪些方面入手
9 设计模式

你可能感兴趣的:(京东面试题)