淘宝北京专场java面试题(2011-12-31)

 

第一面

1、说说项目

由于我几年一直做一个产品,从后台做到前台,从业务开发做到技术平台,所以就画了整个产品部署架构图,b/s & c/s的,然后一层层的讲解。

B/S现有Web框架改造、浏览器缓存、c/s补丁下载各种方式、cdn、c/s通信协议、rpc集群、http集群、负载均衡、集群前置机调度、后端服务器主从实例、后端服务器各种优化(异步、性能隔离)、数据库服务器各种优化(索引、物化视图、读写分离、帐套结转、数据库横向切分、纵向切分)、层间调用性能监控的实现,对照产品架构图各个部分一路讲下来。

2、http集群方案,我们的是反向代理服务器,自己有写代理服务器,也可以用主流的web服务器,然后面试官就问ngnix、lighttpd、apache三大主流web服务器的区别...囧了。。。

3、如果有机会重新设计你们的产品,你会怎么做?

这个当时回答的不好,主要从通信协议和数据存储两块来说了,这样说有些片面。因为我们产品本身又很多问题,只通过部署架构图是反映不出来的,如二次开发问题、补丁下载问题、不同模块java包相互依赖问题、技术框架比较封闭、构建系统方案落后、文档缺失等,我们内部经历过很多的痛苦的,但是当时思维局限在了部署架构,所以没有说出这些问题。

第二面

4、网站性能优化如何优化的?

自己一点网站性能优化经历,结合《构建高性能Web站点》,扯了一通,跟一面有点类似。

5、本来要花产品架构图,我翻过简历,后边有一面时候画的,就没要画了。然后就要我在黑板(暂且叫做黑板)上画jvm体系结构。

画了jvm体系结构,讲解了jvm各个组件和组件的交互、GC算法、各种垃圾收集器、运行期优化、产品中遇到的与jvm相关的问题如oom、ClassLoader问题等,并针对HotSpot VM的实现讲解了堆、非堆内存划分

第三面(HR面)

6、看我面过b2b和支付宝,问了下情况

b2b面完了,但是没过;支付宝过了2面

7、个人优缺点

8、是否愿意来杭州

第四面(视频电话面,杭州某大牛)

9、介绍项目。对于Web框架的改造,跟原有框架的异同

10、下班后的时间有学习技术么

11、是否参加过开源项目

 

 

你可能感兴趣的:(java,面试经历)