必知必会 - 迈向卓越

简介:        企业是如何选拨高素质工程师(高级软件工程师or架构师)的?除了脑筋急转弯那种简单的开场白外,还需要更专业,更深邃的交流。这里,我把自己平时的思考备案分享给大家,欢迎讨论~ 基础技术篇(数据结构,并发编程,JVM内存调优等) 1. 谈谈对队列offer,poll,peek操作的理解(实现,算法复杂度) 2. 谈谈对HashMap,ConcurrentHashMap,Con

       企业是如何选拨高素质工程师(高级软件工程师or架构师)的?除了脑筋急转弯那种简单的开场白外,还需要更专业,更深邃的交流。这里,我把自己平时的思考备案分享给大家,欢迎讨论~

基础技术篇(数据结构,并发编程,JVM内存调优等)

1. 谈谈对队列offer,poll,peek操作的理解(实现,算法复杂度)

2. 谈谈对HashMap,ConcurrentHashMap,ConcurrentLinkedQueue,AbstractQueuedSynchronizer的理解(实现,核心操作,算法复杂度,使用场景)

3. 谈谈对字符集的理解
4. 谈谈对NIO编程模型的理解

5. 谈谈TCP网络编程可能会遇到的问题
6. 谈谈对序列化的理解
7. 谈谈对softReference,weakReference,PhantomReference的理解
8. 谈谈对异常的理解
9.谈谈对设计模式的理解
10.谈谈对类加载器原理的理解,child first/parent first模型优缺点如何?
11.谈谈对ASM的理解
12.谈谈JVM调优经验

13. Maven的phase,goal有什么区别?lifecycle呢?Git是如何pull request的


全局统筹篇(技术深度,广度,前沿技术敏感度,工作习惯,架构观)
1. 工作中,除了对J2SE libarary的使用外,你还会用到哪些工具库?(脚手架问题,用好了极大提升效率,也可考察出其知识面)选择这些库的标准是?举几个简单例子吧
2. 精度丢失的问题,遇到过吗?(float,double,BigDecimal) 如何避免?
3. 序列化中需要注意什么问题?对时间的序列化,又需要考虑什么?
4. Apache,Ngix,Lighttpd怎么解决高并发访问的?采用什么模型?优缺点是?如何调优?poll,select,epoll模型在各个web server中的实现情况?
5. Memcached 是分布式缓存,还是集中式缓存?实施中需要注意什么问题?
6. 工作中,设计模式用的多吗?怎么用?visitor模式应用中需要注意些啥?
7. 谈谈你对架构的理解。工作中,你是如何去架构设计一些系统的?(可以从基础框架方面谈起,也可以谈谈是如何帮助团队成员做设计评审的)

8. 架构vs.设计?如果让你设计一个IOC容器,如何用优雅的架构保证你的设计?

9. 并发编程中需要注意些什么?哪种情况下线程可以Reentrant?如何优雅的结束线程?啪啦啪啦一堆堆问题

10. Reactor模式和Proactor模式了解多少,web server中有哪几种高性能IO模式?

11. 曾经参与过或者分析过哪些开源框架,带给你最大的感受是什么?

12  如果公司让你设计一套应用监控平台(Java平台),你觉得会碰到哪些技术难点(架构或细节层面均可谈谈。可以谈谈java agent技术)?

13. 谈谈你对consistent hashing algorithm的理解,如何设置虚拟节点,如何选择hash算法(更高的命中率,有效的故障转移)?
14. 归并排序,堆排序工作中有用到吗?如何应用的?

15. 谈谈你sql优化方面的经验?可以从执行计划谈起,对choose,rule.cost进行剖析


敏捷流程篇(团队建设,人才培育,基础建设)
1. 敏捷思想能为你工作中带来什么?怎么理解coding-pair的?
2. 人,而不是流程或方法决定了软件开发过程的成功,谈谈你的看法?
3. 用JIRA来跟踪管理我们的问题和需求;用Confluence来聚集团队的想法、计划和知识?在此过程中,你遇到了哪些问题;
4. 持续集成,版本控制方面,你是如何做的?

5. 你是如何推进项目执行的?

6. 招聘是一个请进来的过程,为了找到更靠谱的人才,你的做法是?请进来之后,又是如何帮助他们成长的?


参考文献:

1.http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

2.http://www.openwebx.org/docs/autoconfig.html

3.http://mojo.codehaus.org/

目录
相关文章
|
1月前
|
人工智能 运维 监控
《后端技术的未来:智能化引领下的创新与挑战》
传统的后端技术在智能化时代迎来了前所未有的转变。本文探讨了智能化技术在后端领域的应用和影响,以及智能化引领下的创新与挑战。通过分析智能化技术对后端系统架构、开发流程、运维管理等方面的影响,展望了后端技术的未来发展趋势。
11 1
|
9月前
|
人工智能 安全 程序员
数字化时代下的职业成长与个人能力提升
在当前数字化不断普及的时代,作为一名程序员,自己的职业生涯也是在随着技术革新而不断变化的,尤其是人工智能的变革性发展,造成从事简单重复工作的一部分人被迫“失业”。这又一次给广大程序员敲响了警钟,虽然短时间内大部分程序员还是“安全”的,但是不保证随着时间的推移、人工智能技术的更进一步提高和完善,在未来的某个时刻面临全部失业的风险。本文结合阅读《阿里十年:我用十年的时间,学会成长》这本书的感受,分享一下在数字化时代下的程序员个人职业生涯和个人能力提升的讨论分享。
169 1
数字化时代下的职业成长与个人能力提升
|
11月前
|
机器学习/深度学习 人工智能 运维
|
11月前
《阿里云卓越架构白皮书_导读版》——五 卓越运营——3、设计阶段(1)
《阿里云卓越架构白皮书_导读版》——五 卓越运营——3、设计阶段(1)
176 0
|
11月前
|
Cloud Native 安全 搜索推荐
CIO战略:IT如何创造卓越的客户体验
CIO战略:IT如何创造卓越的客户体验
6649 0
CIO战略:IT如何创造卓越的客户体验
|
12月前
|
机器学习/深度学习 人工智能 算法
「AIGC:创新技术前沿,引领未来思维」
「AIGC:创新技术前沿,引领未来思维」
154 0
「AIGC:创新技术前沿,引领未来思维」
|
12月前
|
边缘计算 自然语言处理 供应链
学习笔记 | 从前沿技术到应用落地: 我们该如何看待数字化?
学习笔记 | 从前沿技术到应用落地: 我们该如何看待数字化?
83 0
|
人工智能 运维 安全
从优秀到卓越,2020,DevOps 路在何方
DevOps 的历史要从一个比利时的独立IT咨询师说起。这位咨询师的名字叫做Patrick Debois,他喜欢从各个角度研究IT组织。2007年,Patrick参与了比利时一个政府下属部门的大型数据中心迁移的项目。在这个项目中,他负责测试和验证工作。所以他不光要和开发团队(Dev)一起工作,也要和运维团队(Ops)一起工作。
158 0
数智洞察 | 数字化转型的内功:数字化领导力和创新
未来10年全球发展充满不确定性,技术改变了世界,也带来了困惑。企业数字化转型时,既要保持对外界的关注,也要找到自己核心竞争力,建立企业内部信心的“窄门”。企业要进行一个长期数字化的征程,要形成数字化的文化,包括创新哲学、数字化的管理体系,还有要变成人人工程。
数智洞察 | 数字化转型的内功:数字化领导力和创新

相关实验场景

更多