??? 就像当年别人面试我的时候那样,我会这样去面试别人:
????? 1 从简历里挑出我最关心的他所会的技能,比如最近我希望招一个JS高手,最好精通Dojo(我说的精通是真的精通)。
????? 2 我会问他最擅长的技术(如果此技术不是我们最需要的那个),如果他最擅长的技术都语焉不详,那就没什么意思了。
????? 3 我会问某项技术全貌上的问题,比如会让对方谈谈Dojo的整个架构,是怎么解决JS领域的一些核心问题的。
????? 4 我会问一些技术细节,比如Spring的声明式事务处理是怎么实现的,因为这一个问题就暗含了AOP的概念和如何实现,代理模式,线程,JDBC事务处理。如果应聘者看过Spring的源代码,那么说明此人能够花心思追究技术更深层次的东西,具有优秀程序员一个优秀品质:好奇心。如果应聘者没看过Spring的源代码,他能回答上来,说明此人各方面基础知识扎实并能融会贯通去解决问题。同样我会问Hibernate的延迟加载是怎么实现的。
????? 5 我会问一些工程性问题,比如Spring的依赖注入,Scope为Session的Bean如何注入到Scope为Singleton的Bean。比如如何调整Hibernate查询性能。比如数据库索引会在什么情况下失效,原理是什么。
????? 6 我会问一些解决方案,比如如何重启服务器后,依然能够保持Session。
????? 7 我会问一些企业开发中特别重要的问题对方是如何理解的,比如事务,并发,内存管理,异构系统整合,数据库性能优化。
????? 8 我会问一些特别基础的问题,比如HashSet是如何判断新添加的对象是否已经存在的,如果已经存在,它是不再放进去,还是放进去覆盖之前的。比如ClassLoader的工作原理。
?????
????? 当我面对一些工作了四年以上的人时,多少是有点惴惴,因为会担心对方很牛,我却挖掘不出。后来请教了一位工作了六年的同事,他说一个简单的原则是:
????? 问他你目前在项目中遇到的问题,因为这些问题都是大家讨论的,深思熟虑的,然后问他的解决方案
?
2 一年前加入JE的时候,就喜欢上了这里的深邃与纯粹,拜读了无数前辈高人的博文,吸取了许多知识营养,感谢JE陪伴我走过这300多天。
一直以来都为自己的只取不舍而惭愧,也苦于自己内功修为太浅,毕竟才刚出道一年。
前段时间因为个人原因想离职,最近2周利用午休、周末和下班时间面试了不少公司,规模有大有小,待遇有高有低,截至昨日,毅然关闭网上简历,终结了这段求职之旅,一路下来拿了3个7K和2个6K的offer,另一8K的估计也没什么问题。昨晚躺在床上思考良久,一是如何抉择,二是总结面试经验。抉择尚不明确,先分享些求职心得吧。
概括起来就三个词:自重、自信、自谦。
解惑:为什么三个词都要带一个“自”字呢,是因为我想表达一个中心思想:成与败都取决于自身原因。
首先,谈谈自重,就是不要失约于人,这是求职的第一步,所以一定要做好,别人满怀希冀的等你去面试而你却放人鸽子,想想人家的感受是多么的不好。前几天我就因为时间安排上的疏忽,失约了一次面试,虽然事后有过特地致歉,但依然耿耿于怀。
其次是自信,这一点相信咱们都知道。在经过笔试后的面谈过程中,无论之前的题做的好不好,都要给自己一个相对明确的估分,明确自己的亮点,正视自己的不足,坦然以对面试官,谈到自己熟悉的,要淡定,用最有说服力的语言来表达清楚。问到自己不了解的,不用慌,先坦诚以告,然后结合自己熟悉的与之相关的知识谈谈自己的推想,体现出程序员独特的思维能力和学习能力。
不过自信也要有个度,切忌给人以自负的感觉,要懂得自谦。很多应届毕业生都敢于在简历中处处写精通,让招聘者摇头苦笑,也许这就是很多企业不要应届生的原因之一吧,刚毕业时都有些自负,尤其是专业基础比较好的同学。当然,有经验的同仁也要明白天外有天,在充分表现自己的同时给面试官以足够的尊重,哪怕你觉得面试官能力真的不如自己,都要尊重他,既然能被派来面试你,那就是有一定本事的人,要用心去面对。
总之,在求职过程中,做事之前先要学好做人。
由于入职在即,需要做不少准备,某些观点没时间具体论述,还请前辈们海涵。
希望我的一点心得能给同仁们带来一点收获。
?
3 主要把spring的IOC,AOP,事务处理这几块的原理和IOC的源码给研究了下,接着是struts1的核心源码做了下研究
三、面试题:
1、说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?
2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?
3、mysql支持事务吗?DB存储引擎有哪些?
4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?
5、hibernate支持集群吗?如何实现集群?
6、tomcat 最多支持并发多少用户?
7、map原理,它是如何快速查找key的?map与set区别?
8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???
9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
10、Spring如何实现IOC与AOP的,说出实现原理?
?
1.JVM的三个代是什么,各有什么作用和区别 汗。。。不是很了解 答的不是很好
2.远程方法调用和分布式相关的东西(记不清了)
3.还是远程JNDI..........
3.1 HashMap和HashTable的区别,更快的map结构是什么,并且要求是线程安全
4. 项目中用到的框架struts1和struts2的区别,struts1的流程,struts2的流程,为什么要用,你觉得劣势在哪儿。。。。
5. Hibernate的框架,流程,对项目的帮助,一级缓存,二级缓存,与ibatis的区别,iBATIS的架构。。。。。。。
6 JVM的gc,哪些回收策略,怎么判定是否该回收,不同的场景(高并发、低响应等)下如何选择策略
7 说说你做的项目,流程,角色,用了哪些设计工具,流程图,时序图。。。。。。。。
8 设计模式,手写单例、简单工程、模板方法三个的案例代码,其他的简要说说,如策略、适配器。。。。。。。。
9 SPring原理,IOC\DI 面向切面 ,如何实现的,事务管理
10. 平时去哪些web2.0网站,让你设计微博,你觉得最会出现性能的地方在哪儿(其实就是问微博如何把一条消息最短时间通知几十万的粉丝),如何解决
11.平时去哪些技术网站,关注哪些牛人的文章,最近看的最深刻的一片技术文章是什么
?
自己实现下string的compare函数?
单例的类是否可以继承?
数组创建后是否可以改变大小?
让你假装给一帮刚入学的大学生讲讲数据结构?
谈一谈java的多线程?
以前用过那些设计模式?
?
-算法题
? 递归转成非递归的实现(用循环)
? 约瑟夫问题
? io文件流编程
? sql实现
2-解答或论述
? 分页的实现与原理
? 从事的项目开发阶段有哪些具体规范
? weblogic集群部署详细设置过程
? 详细说明oracle分区与sharing技术
? 你觉得深刻理解oo思想的要素有哪些
? 从事过的jee项目的技术亮点有哪些
3-hr
? 自我介绍\离职原因\工作内容\从事过单位之间的比较与好坏\对本公司了解多少\为什么会选择这边\导致离职的首要要素\个人优缺点\个人性格\个人的职业方向与侧重点\进行过哪些测试 \目前薪水\期望薪水及个人达到此目标的能力...
?
4-主管???
? 自我介绍\离职原因\工作内容\个人优缺点\项目中工作流的具体实现\具体案例开发流程与组织结构\项目中的问题及解决\项目中做的好与不好的地方有哪些\设计模式及应用\知识来源\...
因为我用的比较多的是MySQL和Oracle。
请问你这两个数据库熟悉吗?
知道事务吗?
事务有哪些隔离性?
事务的并发是怎么实现的?一般有几种你知道的实现方式?
你知道数据库的锁吗,有哪些锁类型,对于MySQL不同的引擎有哪些不同的锁机制。例如什么引擎有什么样的锁?
Oracle有哪些类型的锁?为什么说Oracle里面没有锁升级的概念?为什么MySQL里面需要锁升级?
Oracle和MySQL都用多版本并发控制也就Multi Versioning Concurrency Control。MVCC。能知道他是怎么样的一个机制吗?有什么样的好处?
对于不同的隔离性,哪些是可以使用MVCC,哪些是不能使用?
知道Latch,也就是闩,Oracle什么时候会用到呢?
为什么说有些数据库的锁加的越多,需要升级锁,因为锁对于哪些数据库是一种宝贵的资源,而对于Oracle来说确不是这样。Oracle是怎么做到的?
跟Java里面的锁有什么相同和不同的地方?
Java的Synchronized和Compare And Set有什么不同吗?什么时候会用Compare And Set,Java JDK里面有实现吗?
对于锁资源的管理来说,锁管理是怎么样的一个实现呢。是队列吗,是Hash吗?如果让你实现你会怎么实现?
我记得Java分配对象的时候也需要有某种锁,所以对于每个线程会预先提供一些内存空间,因为是线程内的,所以就不会和多线程竞争内存空间,你觉得我说的对吗?你有了解,能更清晰的解释这个机制吗?