一、职业相关职位: 有高度,有深度,有角度。
高级工程师:主要要求:3专业技术素质
开发经理:2 组织管理素质 3专业技术素质
架构师:主要要求:3专业技术素质,其次要求:2 组织管理素质
高级经理:2组织管理素质 3专业技术素质
产品经理:2组织管理素质 3专业技术素质
技术总监:1综合素质 2组织管理素质 3专业技术素质
问题重要(或面试频率高)程度:A 频率高 B 频率一般 C 频率低
问题难易区分度: X 简单的 Y 中等难度 Z 比较难
一般面试:技术方面:1-2小时左右:10-20个问题左右 -事前准备的问题应该是10-15倍(即100/150 到 200/300问题)
二、职业相关职位要求的知识范围:
1综合素质:10%-20%
1.1 综合素质能力:智力题/逻辑题 ? 智力测验5000题之类的?
1.2 逻辑思维能力:考虑问题,说或写问题思路是否清晰?说话,做事,是不是有条理?是不是讲究战略战术?
1.3 语言表达能力:是否能把问题表述清楚,中文阅读写作能力,英文要求要好的阅读能力,简单的写作能力
1.4 性格 :内向/外向? 管理型的人才因需要沟通,协调需要外向一些,技术型的人才大多内向?
1.5 精神面貌 :研究 眼神是不是炯炯有人?表情是不是自然淡定,沉稳自信?
1.6 为人处世 :做人重要还是做事重要?通过了解哪里人?现在身边好朋友多吗?平时业余时间喜欢做什么?自己感觉做的最得意的一件事是什么?
1.7 人生规划/职业规划: 今年有什么打算呢?最近1-3年有什么想法? 对自己的未来/职业是不是有一个清晰的思路?
1.8 如何与不同性格的人相处?
1.9 对相关领域的理解程度:如电子商务、视频监控、互联网应用等方面 ?
1.10 分析问题解决问题的能力:出一个问题让他分析解决,看他的分析问题解决问题能力?
2 组织管理素质:20%-40%
2.1 为人处世 :做人重要还是做事重要?
2.2 项目管理/产品管理:最重要的是什么? 谈谈或分享一下相关思路或方法或经验?
2.3 项目/产品管理中比较重要的问题:如项目延期了你如何处理? 有人想离职了你留住这个人如何处理?
2.4 能说一下管理相关的知识:如《管理学》:计划->组织->人员(人事)(指挥)->领导(协调)(沟通)(影响)->控制(分解任务检查点)->评估调整
2.5 招聘相关:招聘中如何识人、选人、留人呢?
2.6 谈谈你对产品经理工作职责的理解?
2.7 组建团队方面:?如何招聘?如何分配?
2.8 工作职责范围:工作职责划分?
2.9 人员测量/评估/考核相关:?
3 专业技术素质:40%-70%
3.1 数据结构和算法(A)
3.2 程序设计语言基础:(A)
一、Java基础
JSE 核心基础(程序设计语言):
《Think in java》 (参考阅读:《Core Java》JAVA2核心技术第1卷.基础知识) 阅读
《Effective java第二版》
集合容器主题(内存):util包 考虑编写缓存系统
各种数据结构和算法
多线程主题(CPU):concurrent包
《Concurrent Programming in Java》《JAVA并发编程实践》
《Java Concurrency in Practice》
《The Java Language Specification, Third Edition》第17章
网络与IO主题(I/O、Net):io/nio/aio/net Mina RMI WebService
《Java TCP/IP Socket编程》 阅读
《Fundamental networking in java》
《Java网络编程(中文版 第三版)(O'Reilly Java系列)》
《Java NIO》
3.3 程序设计框架/架构基础:(A)
二、企业级架构
企业应用框架主题:
Spring+Hibernate+Struts+依赖的相关基础库(三种连接池)
3.4 数据库相关基础:(A)
数据库主题(数据库原理):
SQL/Hibernate 《SQL语言艺术》
MySQL: 《高性能MySQL》《MySQL性能调优与架构设计》
Oracle: 《Oracle 9i & 10g编程艺术》《Oracle 10g数据库管理艺术》《Oracle性能诊断艺术》
3.5 网络方面:(B)
3.5 操作系统相关基础/编译原理方面:(C)
JVM主题(编译原理):
《深入理解Java虚拟机 JVM高级特性与最佳实践》-初级 1遍 阅读
《深入Java虚拟机(原书第2版)》
《The Java Language Specification, Third Edition》 http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
《The JavaTM Virtual Machine Specification,Second Edition》 http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
OS主题(操作系统概念):
《Unix编程艺术》
《鸟哥私房菜Linux》
3.6 各种相关工具基础:(C)
三、工具研究:
MyEclipse + Tomcat
各种架构:架构模式/设计模式
各个著名网站系统等架构研习
课题:
研究Mina/Xsocket/Tomcat框架设计原理及代码实现
思考如何编写高性能TCP/UDP服务器和客户端系统?(基于并限于:NIO + 多线程 + Reactor)
3.7 模式与设计?(B)
四、模式与设计
2、《设计模式精解》,应该有最新版,个人认为更适合入门。
1、《设计模式》,GOF的经典。
3、《Head first设计模式》,更轻松的入门读物。
4、《企业应用架构模式》
5、《分析模式——可复用对象模型》
6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
7、《重构——改善既有代码设计》,想写好代码必读。
8、《重构与模式》
3.8 软件工程方面:(B)
五、方法论
1、《敏捷软件开发》
2、《测试驱动开发》,你不一定要TDD,但是你一定要学会做单元测试。
3、《Agile Java》,也可以作为java入门读物。
4、《快速软件开发》
5、《面向对象分析与设计》,OO设计必读。
6、《Unix编程艺术》,打开你的眼界。
六、Java之外
1、《unix网络编程》,学习网络编程必读书。
2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
3、《Joel说软件》,编程文化
4、《人月神话》、《人件》
5、《卓有成效的程序员》,给我很大启发的一本书。
6、《程序员修炼之道》
7、《计算机程序的构造与解释》,必读
8、《算法导论》,可以作为参考书
9、《深入理解计算机系统》
10、《编译原理》龙书,最新版用java解释
3.9 技术方向/当前流行的技术相关:(C)
七、并行计算和分布式架构:
1 分布式系统领域经典论文翻译集
2 Hadoop Reading List
3 13种提高系统伸缩性的最佳实践
4 伸缩性、可用性、稳定性(Scalability, Availability & Stability Patterns)
5 杨传辉《分布式系统工程实践》 http://www.nosqlnotes.net/wp-content/uploads/Distributed_System_Engineering_Practice.pdf
三、根据要求知识点整理具体问题
3.3程序设计框架/架构基础相关知识点:
Spring要出10-20核心问题: