欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

程序员文章站 2022-07-05 10:12:21
上个礼拜,之前的一个同事突然联系我说他去面了联想的JAVA开发工程师,想分享一下面试经历和面试题。我当时就拍板说,好啊! 然后就整理了一下,写了这篇文章;和大家分享一下这次面试经验和面试题。 这个是我在网上找的一个联想的Java开发工程师招聘 这个是我在网上找的一个联想的Java开发工程师招聘 薪资 ......

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

 

上个礼拜,之前的一个同事突然联系我说他去面了联想的java开发工程师,想分享一下面试经历和面试题。我当时就拍板说,好啊!

然后就整理了一下,写了这篇文章;和大家分享一下这次面试经验和面试题。

 联想高级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+设计模式