联想一面面经

好久不写博客了,因为最近在准备面试,一共投了九家,腾讯、菜鸟、美团、京东、贝壳、哔哩哔哩、联想、字节跳到、百度。到目前为止,笔试了美团和京东,美团五道编程题,通过了三道,有一道写了一半,另一道没写。京东三十道选择,两道编程,通过了一道编程。但是一直都没有了后续,知道5.19号晚上八点多收到了联想的面试通知,5.20日下午两点半开始。以下是我的面经。

1、介绍自己

2、面试官说问点基础的吧,问我hashmap和hashtable的区别。我答介绍了hashmap的数据结构,回答上了两个,a、hashmap是线程不安全的,hashtable是在此基础上加了synchronized实现的。b、hashmap允许一个key为null,允许value为null而hashtable不允许。

3、了解gc吗?介绍以下gc。我说了下堆的结构,说了新生代使用的都是复制算法,老年代使用两种算法,标记清除和标记整理。又说了新生代和老年代各有三种垃圾回收器,还有一种g1垃圾回收器,说了gc是如何判断该对象是否该被回收,即可达性分析算法。介绍了可达性分析算法:有一些对象被称为GCroot对象,其他对象根据是否被GCroot对象直接或者间接引用,如果被引用就不回收,如果没有被引用就被回收。又介绍了GCroot对象包括哪些,a、虚拟机栈中引用的对象。b、本地方法栈中引用的对象。c、方法区中静态变量引用的对象。(刚刚翻了翻笔记确实也没错,但是根据我现在的了解,类的静态变量应该在1.8被移到了堆中,所以下次再回答这类问题直接说静态变量引用的对象)。d、我说我忘了。。。翻了翻笔记是常量引用的对象。

4、问我了解反射机制吗?我说了解,我说:就是通过类的class对象可以获取到类的信息,包括类的属性啊、类的接口啊、类的方法之类的,也可以通过它直接生成这个类的对象。

5、问我了解反射机制有哪些应用场景吗?我说jdk动态代理。

6、我看你简历上说了解springboot、那你能说一下反射机制在spring boot中有哪些应用场景吗?

我懵逼了,我开始嘴瓢,说我思考思考。。。过了会憋出了一个拦截器吗?纯瞎蒙,其实我知道它广泛应用在AOP中,但是我刚开始想那不是spring里的吗。听了我的回答,他说还有呢,我说类装载吗(嘴瓢,我现在都不知道自己咋想的),改口说是将对象装配到容器里的过程吗?我真的崩溃了,然后他见我答得磕磕绊绊,说到处都有。!!!!好吧。

7、问我数据库了解过哪些,我说熟悉mysql,他问我md了解过吗,我问mongodb吗?他说是的,我说没有系统的学习过,仅仅知道这个数据库。

8、(前面少写了一个)问我了解java的同步机制吗,我说知道,一个是synchronized关键字,还有一个是RenntrantLock,一个是基于jvm层面的,一个是JavaAPI层面的。synchronized是基于对象锁,对象头中的markword字段关联的monitor监视器实现的,每一个对象都关联一个monitor对象,通过操作系统提供的指令monitorenter和monitorexit实现堆monitor对象关联的一个Int变量进行加减操作,其实还是操作系统提供的同步机制。RenntrantLock是通过AQS和CAS实现的。继承了

abstractqueuedsychronized(事实上并不是继承关系,而是组合了AQS的实现类)通过他提供的一系列线程阻塞唤醒机制实现的,CAS是通过UnSafe类提供的原子性的cas操作。

9、面试官:我看你说你了解springcloud,介绍一下。

我说它是一个RPC框架,有一个eureka注册中心,模块可以在注册中心上注册,他能够监听这些服务模块的状态,我们可以在其他系统通过调用在注册中心上注册了的服务,通过feign远程调用,它底层其实还是利用了RestTemplate实现的。

10、面试官:嗯,那我问你一个场景,在这些分布式框架没有诞生之前,我们是通过什么方式去远程调用的?

我思考了一会,回答就是直接http访问这个系统里的。。。然后我看他没反应,我又想起来了进程间通信可以用socket编程,我就问了是用socket吗?他说就是通过url访问,跟我第一种说的一样,我看他的反应应该算我说对了。

11、问我英语水平怎么样,我说勉强过了四级。都笑了。他说我口语怎么样,我说我喜欢看美剧,还行,他说如果给你三分钟用英语做个自我介绍可以吗?我说额、、我百度翻译一下背一下还是可以的。他笑了笑,说我大概了解了。

12、数据结构与算法了解吗?

我说了解,学过。他问介绍一下快排。我说快速排序吗?他说嗯。我说取数组的第一个元素,后面的数跟他作对比,小于他的放左边,大于他的放右边,左边的数组在类似的,进行递归。

他点了点头。

13、问我那你知道快排的时间复杂度是多少吗?

我说n乘以logn。

14、后面就是让我问问他,有什么想了解的。我说我思考思考,说:就是在实际项目中redis一般搭几台,缓存一台。。。他笑了笑说不是让你问这些,是让你问我想了解一下这个面试过程啥的,我没时间解答这个问题,比如面试如果通过了接下来还有几场面试。哦哦哦,我说那如果过了接下来还有几场面试,他说两场。。。。最后告诉我一两个星期有结果。

总结:本人人生第一次面试,非常激动,开始前抽了两个烟。以上回答可能跟正确答案有出入,希望大家可以指正一下。面试过程只进行了17分钟,如果不算最后的过程应该只要十五分钟。我看别人联想的面经好像说对英语要求不低,所以懂得都懂,如今人多机会少,虽然整体面试过程感觉不错,但还是不要报太大希望有2面比较好。。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fake-WTX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值