联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式相关的知识,希望对你有一定的参考价值。
上个礼拜,之前的一个同事突然联系我说他去面了联想的JAVA开发工程师,想分享一下面试经历和面试题。我当时就拍板说,好啊!
然后就整理了一下,写了这篇文章;和大家分享一下这次面试经验和面试题。
薪资还可以啊,年薪40W+啊!多少人的梦想啊!
言归正传,和大家分享一下这次联想的面经和面试题:
联想面经:
- 第一轮:电话初面
- 第二轮:技术面谈
- 第三轮:高管复试
- 第四轮:HR最后确认
No.1:第一轮面试——电话初面
首先确认对联想的意向度(如果异地更会考虑对工作地点(北京)的意向度!联想很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,重点考察Java的技术基础和原理,比如Spring框架以及数据库和JVM三个方面,也会交流到多线程、设计模式等等,重点考察是不是有比较钻研技术和技术上的亮点(不一定每个面都很厉害但一定要有亮点);
No.2:第二轮面试——技术面试
根据项目深入的了解技术实力,了解您的知识面,了解您的问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的有典型性的项目做一个仔细 技术回顾和自己独到的理解(这会成为您的加分项);
No.3 :第三轮面试——高管复试
他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等)
No.4 :第四轮面试——HR面
基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对阿里的意向度
四面总结:
技术基础以及原理的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥!
联想比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。
其实这次的面试题才是这次面试的重点;当然这也感谢我的这个朋友,在面试回来的第一时间就整理了面试题,这才有了这次分享!
联想高级Java研发面试题
No.1 :笔试题
1. Spring DAO 中最常用的类是?
答案:JdbcTemplate ,SimpleJdbcTemplate
2. 关于"@Order"注解,最正确的描述是?
答案:实现org.springframework.core.Ordered接口
3. 如何在Spring应用中使用SLF4J?
答案:作为日志框架
4. Spring bean 的默认作用范围是?
答案:Singleton
5. Spring中,单例意味着每_____只有一个实例
答案:Context
6. "@RequestMapping是Spring中的哪一部分
答案:Web MVC
7. 使用@Required但不关联bean 来注解setter方法,将会发生?
答案:启动异常
8. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
答案:DGEBHFCA
9. 面向对象方法中,继承是指
答案:类之间共享属性和操作的机制
10. 栈和队列的共同点是
答案:只允许在端点处插入和删除元素
11. volatile关键字是否能保证线程安全?
答案:否
12. Java能不能不通过构造函数创建对象
答案:能
13. 当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象
答案:以FileInputStream对象为参数
14. Java程序的并发机制是?
答案:多线程
No. 2:多线程
- 什么是线程
- 多线程的优点
- 多线程的几种实现方式
- 多线程中的忙循环是什么
- 如何创建一个线程
- 编写多线程程序有几种实现方式
- 什么是线程局部变量
- 线程和进程有什么区别?进程间如何通讯,线程间如何通讯
- 什么是多线程环境下的伪共享(false sharing)
- 同步和异步有何异同,在什么情况下分别使用他们?举例说明
No. 3:设计模式
- 什么是设计模式(Design Patterns)?你用过哪种设计模式?用在什么场合
- 你知道哪些商业级设计模式?
- 哪些设计模式可以增加系统的可扩展性
No. 4:单例模式
- 除了单例模式,你在生产环境中还用过什么设计模式?
- 写 Singleton 单例模式
- 单例模式的双检锁是什么
- 如何创建线程安全的 Singleton
- 什么是类的单例模式
- 写出三种单例模式实现
No. 5:开放问题
- 线上系统突然变得异常缓慢,你如何查找问题
- 什么样的项目不适合用框架
- 新浪微博是如何实现把微博推给订阅者
- 简要介绍下从浏览器输入 URL 开始到获取到请求界面之后 Java Web 应用中发生了什么
- 请你谈谈SSH整合
- 高并发下,如何做到安全的修改同一行数据
- 12306网站的订票系统如何实现,如何保证不会票不被超卖
- 网站性能优化如何优化的
- 聊了下曾经参与设计的服务器架构
- 请思考一个方案,实现分布式环境下的 countDownLatch
- 请思考一个方案,设计一个可以控制缓存总体大小的自动适应的本地缓存
未完待续...
写在最后
- 第一:看完点赞,感谢您的认可;
- ...
- 第二:随手转发,分享知识,让更多人学习到;
- ...
- 第三:记得点关注,每天更新的!!!
- ...
由于篇幅有限,部分答案就不做全部展示了,这些面试题的答案我已经整理成PDF文档了,同时也整理了一些问题详解;虽然说花了一点时间,但是我也愿意把它免费分享出来,希望能够帮助到有需要的Java工程师朋友,也省的大家再去网上花时间找资料。
↓ 后台回复【面试】
以上是关于联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式的主要内容,如果未能解决你的问题,请参考以下文章
网易Java社招研发面经:Java+数据库+Redis+Linux+框架+架构设计
京东后端Java高级架构师面经+面试题:Spring+多线程+NIO+MySQL