大人,时代变了

2021-3-1

1.上午

公司:

  • 甲方:yi fang da 基金公司
  • 乙方:广州市 zhuo wei 信息技术有限公司

面试内容:

先来一份几页的笔试题(ps:800字作文?),一个小时后。。。

我:自我介绍 (ps:我写了一个小时的笔试题呢,看都不看的?)
面试官:为什么离职?
我:我想扩展自己的技术栈和业务范围(ps:你不是搞技术的嘛,这不是hr来问的嘛)
面试官:那你认为你现在很牛逼了?
我:???(ps:???)
面试官:为什么一年跳一家?
我:第一家是待遇问题,第二个是个人发展原因
面试官:好了,基本情况我了解了,你先回去吧。
我:草,一种植物。尼玛,一种动物。

个人总结: 什么牛鬼蛇神!

2.下午

公司:zhi yuan hui tu

面试内容:

  1. 画一下项目的架构,用了什么框架、中间件,怎么用的?
  2. 描述一下项目的难点?分布式事务、分布式锁、接口幂等性
  3. 平时是怎么学习的?
3. 晚上

公司:jing cheng zhi zao

面试内容:

  1. 分布式锁应用场景?怎么解决的?具体原理?
  2. 分布式事务解决流程
  3. Eurken注册一个服务具体过程
  4. 具体的一个sql优化场景,非索引优化
  5. 服务怎么做的限流和降级保护
  6. 接口幂等性的具体方案

2021-3-2

1.上午

公司:yong dao 科技有限公司

面试内容:

  1. 更新数据,先删缓存再更新数据库和先更新数据库再删缓存有什么问题?
  2. 代码怎么部署到生产环境?
  3. 生产环境出了问题,用了什么工具监控,最后怎么解决的?
  4. 项目中怎么使用Docker的?
  5. 用RabbitMq解决分布式事务时,怎么保证上下游服务数据回滚一致,怎么保证下游服务消费消息的幂等性?
  6. 缓存穿透和雪崩的解决方案
2.下午

公司:shu guo zhi neng

面试内容:

面试官:基础怎么样?
我:还行(ps:非科班的,你说怎么样)
面试官:Java强引用和弱引用是什么?有什么区别?
我:这个。。。这个。。没研究过(ps:?)
面试官:设计一个DB连接工具,怎么确保版本兼容性?
我:Java默认有双亲委派机制,确保版本兼容性需要打破双亲委派机制(ps:细节真说不出来了)
面试官:对树了解吗?
我:还行。(ps:我。。。。)
面试官:唰唰唰,画了一颗平衡二叉树,你用下位遍历法遍历一下
我:是怎么遍历去了。。。。(ps:应该是凉了)
面试官:对JVM有了解吗?
我:还行。(ps:我。。。。)
面试官:说下JVM内存模型,什么是堆外内存,垃圾算法
我:balabalabala
面试官:有用过锁吗?
我:用过一点(ps:不是亿点阿)
面试官:说下锁升级的过程?synchronized和ReentrantLock的区别?CAS?
我:。。。。(ps:接下来是不是ABA问题)
面试官:服务限流,熔断,降级你是怎么做的?
我:没做过,不是我负责(ps:问就是没做)
面试官:对MySQL了解多少?
我:还行,用了挺久的
面试官:说下MVCC机制
我:核心是数据的版本链和readview。。。。
面试官:中间件用了那些?
我:还行,RabbitMQ这些都有用到
面试官:RabbitMQ怎么保证消息幂等性?

。。。。。。

面试官:你还有什么想问的吗?
我:准备不是很好,能说下我的不足吗
面试官:业务还行,基础不是很好,回去多看看JDK源码
我:。。。。。。

2021-3-3

1.上午

公司:xiao ma 科技

面试内容:

面试官:说下你自豪的设计和功能
我:有处理并发的经验,处理过分布式事务、分布式锁等一些的分布式问题
面试官:分布式事务是用什么实现的?
我:我项目中采用的是MQ保证数据的最终一致
面试官:怎么保证下游服务回滚,上游服务一定回滚?
我:。。。(面试官有点压迫感,忘记消息补偿了)(ps:其实mq来做分布式事务不能说是回滚,只能做一些补偿操作。例如,A-MQ-B,消息发送是A经mq到B服务的,但是B服务是不会设计成能发消息给A服务的。所以B服务异常了怎么处理,设计成失败返回NACK告知MQ,然后mq发消息给补偿服务,做一些补偿操作。)
面试官:分布式锁呢?
我:我们是用redis来做的,都是基于key键唯一,setnx命令,可重入锁,看门狗机制(守护线程)等等,采用的是Redisson这个开源框架(ps:有些紧张,这个单词发音我发错了,再加我有湖南口音,手动狗头)
面试官:啥?
我:Redisson(ps:又又发错了。。。。。)
面试官:你手写给我看看
我:手写了下单词
面试官:你管这个叫xxx?
我:不好意思,有点紧张,发错了
面试官:你这英语不行阿,我们这职位对英语要求比较高,需要去看英文源档
我:。。。(ps:我说我是紧张你信吗)
面试官:基本情况我了解的差不多了,回去等通知吧

2.下午

大型翻车现场

面试内容:

面试官:说下JDK8的新特性和更新
我:用到的是stream流,函数式编程。别的就是一些更新,比如JVM里的方法区改为元空间,map的两个集合的变化,增加了红黑树等等
面试官:JVM说下
我:堆,栈,程序计数器,元空间,本地方法区等等,有什么作用balabala
面试官:GC算法有了解吗?
我:标记复制,标记清除,标记整理等等,年轻代用的是标记复制。可达性分析算法,从GCRoot节点出发balabali,然后说到垃圾回收器CMS,然后说Stop-The-World机制(CMS垃圾回收器会有一个阶段用来标记垃圾,即GCRoot遍历,此阶段用户线程是暂停的),再说三色标记算法(ps:这波应该可以了吧。。。)
面试官:设计模式有了解吗?比如Spring的过滤器的责任链模式,策略模式,观察者模式等等
我:目前对单例,工厂,代理模式有所了解(ps:看了看我2年多的工作经历不说话,大人,时代变了?)
面试官:Spring的三大核心说下?
我:不是两个核心吗,AOP和IOC
面试官:DI呢?
我:DI不是IOC的具体实现吗,ioc是控制反转,是一种思想,di依赖注入是ioc的一种体现(ps:此处是我理解错误了)
面试官:怎么能说di依赖注入是ioc的一种体现,你这理解有错误。。。。理解了吗?
我:。。。(ps:有一点被尊重到,因为我之前的面试如果我答错了,面试官大多是蔑视地看我一眼,然后下个话题,很少有看你答不出来或者答错了会亲自给你解释)
面试官:AOP做的业务场景具体说下?
我:。。。(ps:真忘了,知道它的注解,有方法前,方法后等)
面试官:它是用xxx,xxx注解实现的,起到xxx的作用
面试官:Redis数据结构了解吗?不是string这数据类型
我:你是指“结构体”?
面试官:嗯,你说下
我:那个是C++源码层次,个人没有太深入了解(ps:手动狗头)
面试官:Redis的雪崩,穿透,击穿说下
我:balabala(ps:对了,redis时还问了一句对bitmap有了解吗,我只是仅限于知道,知道是用位存储的,手动狗头)
面试官:看到你有解决分布式事务和分布式锁,大概说下
我:分布式事务,mq保证数据的最终一致,消息补偿起回滚作用。。。。。balabala
面试官:分布式锁怎么实现的?
我:基于Redis,基于lua脚本的原子性,balabala
面试官:说下你业务的具体流程
我:。。(ps:前面被问到有些懵逼了,这一块答的比较差)

。。。

快2个小时后

面试官:你可以问我两个问题,我都可以为你解答
我:太大的问题也没有,因为你之前问我的问题,我模糊的点,你都亲自解答了,解答的很详细的那种(ps:我以为我已经凉了,不过这个面试官确实在面试的过程中,问出我不会的就会亲自解释一次,个人觉得真的很nice,有被尊重到,虽然问题有点。。。)
面试官:其实在我印象中,你的水平应该不只是这么点的
我:?(ps:一个大写的?)
面试官:你简历上有写博客地址,我是深入看过的,觉得你写的一些博客是比较深的也比较好
我:这。。。这。。。(ps:平时空闲时间,我都会看一些技术或者翻墙,但是说实话,真的没有去特意记)

个人总结: 面试官确实挺不错的,最起码会尊重面试者,有一次面试我至今记得,xx酒店外包,面试官一只眼睛看我简历,一只眼睛斜着打量我,嗯,斜着眼睛看人,字面意思!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值