面经分享篇:6 年深漂回西安,含丰疆智能、移动研究院、卓派、腾讯云、翼支付
作者:沉默王二 发布时间:2022-07-25T14:36:00.153+0800
球友们好,《Java 面试指南》专栏又更新了:分享一波面经,朋友深漂 6 年,回西安面了丰疆智能、移动研究院、卓派、腾讯云、翼支付等公司,面试题还是挺有代表性的,球友们如果有从一线城市回二线城市的话,可以参考。
内容收录在星球专栏《Java 面试指南》的《面经分享篇》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记),访问地址和密码:https://t.zsxq.com/6iuzn6I
丰疆智能
西安研发中心,是深圳或者北京的面试官来面。
一面
主要问了项目和一些基础技术,项目细节问的非常细。
线上笔试
在线笔试,主要是考察设计和代码能力。
二面
面试体验很差,不停的 PUA,让给自己打分、笔试打分,反正就是咄咄逼人的感觉,语气也很不耐烦,互相不合适吧~
- 平时如何评估工作量的?
- Java 中的集合有哪些?ArrayList 的扩容机制?无参构建方法初始为空数组,添加第一个元素时,创建长度为 10;当插入元素不够用时,扩容 1.5 倍,如果还不够用就扩容为需要的大小。
- HashMap 什么场景下是线程不安全的?会导致什么后果?
- 线程池有哪些参数?并介绍参数在什么场景下使用?
- 当核心线程数未满,继续提交任务,是复用已经空闲的线程还是继续创建?
- Netty 中的核心组件有哪些?ByteBuf 有哪些方法?Netty 如何实现拆包?自定义拆包处理器是怎么实现的?
- Spring 中有两个同样类型的 Bean,如何注入?如何实现全局统一注入?
- AQS 了解吗?里面都有哪些属性?AQS 有几种模式?你对 AQS 还有哪些理解?
- AQS 的公平锁和非公平锁原理是什么?读写锁的互斥规则?
- Mybatis 如何实现结果绑定到 Java 对象的?
- Spring 为什么要有三级缓存?
- RocketMQ 怎么保证消息不丢,同步发送的 API 是啥?消费者如何保证消息不丢,除了 ACK 机制还有什么方法可以保证?
- JVM 的内存模型?哪个区域不会发生 OOM?
- JVM 都可以调优哪些参数,JDK8 默认的垃圾回收器是啥?都有哪些常见的垃圾回收算法?CMS 垃圾回收卡顿暂停了怎么处理?
还有一些问题,没听明白要问啥,就询问能具体解释一下?他直接说他知道了,下一个问题。。直接就想挂电话了~~
西安移动研究院
一面
- 介绍项目&细节&自己负责了哪些编码工作;
- 包装类是深拷贝还是浅拷贝?
- Redis 的 key 删除策略?
- 写代码时常见的内存泄漏?
- MySQL 索引的结构和搜索数据的过程?
- 数据库的隔离级别?分别解决什么问题?
- 常用的 Spring Boot Starter 有哪些?
- Netty 为什么这么快?Epoll 的实现原理?
- 线程 A 中创建线程 B,线程 B 如何捕获线程 A 的异常?
- K8s 中 config 中环境变量修改,Docker 能否获取?配置文件修改 Docker 能否获取?
- 接口限流如何实现,Guava 和 Redis 如何在项目中结合使用的?
- HashMap 能否直接遍历删除?CurrentHashMap 能否遍历删除?
- 有哪些让线程阻塞的方法?有哪些类使用了 LockSupport?
- 泛型中 Extends 和 Super 关键字的区别?在 put 操作多时用哪种,为什么?在 get 操作多时用哪种,为什么?
- 频繁往外读取内容的,适合用上界 Extends,因为读取的元素都可以用上界定义的类型来接收,父类可以指向子类,如果用 Super,只能用 Object 类型类接收了,因为不确定是哪个父类;
- 经常往里插入的,适合用下界 Super。相当于放松了插入元素的类型,既然元素是 Fruit 的基类,那往里存粒度比 Fruit 小的都可以,如果是 extends,则插入时会报错,因为集合中不确定到底存的是哪个子类,会报错;
- SpringBoot 自动装配原理?
- 项目中如何做统一异常处理?
- Spring 中配置文件的加载顺序?
- 项目中如何做监控?JVM 进程如何监控?机器资源如何监控?
在线测评
完成了在线测评,提交了薪资流水。
西安卓派
一面
- Java 反射中 Super 和 Extend 有啥区别?
- 线程池的运行原理?线程池大小如何设置?项目中如何使用线程池?如何防止线程池滥用?线程池中阻塞队列的意义是啥?
- Spring 中的 ApplicationEvent 使用过?
- ThreadLocal 的数据结构?平时怎么使用?
- Spring 中的@Transactional 是如何使用 ThreadLocal?
- ThreadLocal 的 key 为什么要设置为弱引用而不用一般引用?是基于啥考虑的?
- 多线程中能否使用 ThreadLocal?如果要使用该怎么做?
- Spring 事务的隔离级别了解?你们怎么用?你怎么理解隔离级别?
- Spring 中的 AOP 切面,如果定义了多个增强执行顺序是怎么样的?
- DDD 了解吗?是否知道其中的术语?
- 设计模式了解哪些?如何使用的?具体的使用请求参数以及响应参数是怎么设计?
- 设计原则中的单一职责是啥意思?给一个场景问是否应该设计成单一职责?
- Tomcat 的线程池大小如何配置?
- HTTP 协议的无状态你怎么理解?无状态有啥好处和坏处?
- 介绍项目,特别仔细的聊项目细节;
- 如何实现一个分布式会议室预定系统?保证同一时间段会议室只能被预定成功一次?
- 是否愿意学英语?
二面
hr 面,聊聊做了什么项目,遇到了最复杂的问题是啥?如何解决的?介绍公司和项目,以及相关福利。
三面
上机写代码,两道算法题,一道系统设计题。
面试过程中面试官非常耐心,写的不好的题会给你引导优化方向,整个过程非常愉快。
**经验:**上机考察代码能力,如果题目没看懂一定要积极主动询问,然后就是如果不会解题,可以和面试官交流自己的思路,避免低头不语,写了半天也没有答案;
四面
三面之后紧接着是老板面,西安这边的研发负责人。
主要是聊项目、对于项目设计的理解,什么是好的代码?什么是好的设计?
给出一些具体设计场景,让做选择,反正也没有唯一答案,说清楚自己的考虑点和原因即可,这种就是设计模式作为理论依据,然后结合平时自己的编码实践谈谈感受。
同时也聊到未来的一个发展方向,我正好最近对于后面走技术路线还是技术管理非常困惑,从聊的过程中这个问题也启发很大。
个人感受
卓派是一家外企,内部技术氛围很棒,从整个面试过程中都能感受到面试官非常有包容性,虽然我对于敏捷这块很多专业名词不太了解,也很细心的说了中文对应的翻译,面试的同时也涨了很多见识。
公司的业务发展目前只能算一般,毕竟西安团队只有 30 人,今年预计扩充到 50 人,卡车司机接单也是属于一个细分小众领域,所以公司业务发展这块存在一定的风险。
福利待遇也很不错,全额最高公积金,配置新款 mbp,人体工程学椅,每月团建,我觉得这种公司因为年终奖不高的缘故,肯定不会卷,不像大公司年底绩效决定了一年是否白干,也就不存在拼命卷的情况。
西安腾讯云
一面
- 自我介绍&介绍项目;
- 死磕项目实现过程和个人做了哪些事情,优化了什么,问的很细很细;
- 关于线程池的一个场景题;
- Future 实现阻塞等待获取结果的原理?
- 谈谈什么是零拷贝?
- 一共有几种 IO 模型?NIO 和多路复用的区别?
- JDK 中的 NIO 使用的是什么模型?
- 可重入锁和 Synchronized 的区别?Synchronized 的原理?可重入锁的实现原理?
- 乐观锁和悲观锁, 让你来写你怎么实现?
- ReentrantLock 的实现原理?Synchronized 是个悲观锁还是乐观锁?
- Paxos 算法了解?并发提案时如何处理?
- B+树聊一下?B+树是不是有序的,怎么样的顺序?
- TCP 怎么实现拥塞控制?怎么实现重传(说了思路不过具体的实现回答的不准确)?
- 看你有 JVM 调优经验,介绍下如何调优的;
- 算法题:给一个无序的数组,选一个随机数,实现左边比它大,左右比大小,要求保持原有相对顺序不变;给出的实现方法时间复杂度是多少?
二面
- 两个有序数组求交集;
- 项目介绍;
- Paxos 协议了解?工作流程是怎么样的?
- 时隔太久忘记了。。
三面
- 两个有序数组求交集;
- 二叉树如何持久化存储;
- 自我介绍;
- 前几次跳槽的原因?
- 介绍一个有技术挑战的项目?追问项目细节,问到有点招架不住了;
- 数据库分库分表的缺点是啥?
- 分布式事务如何解决?TCC 了解?
- 介绍下你们微服务项目的整体架构?服务间通信的原理?同步还是异步?
- RocketMQ 如何保证消息的准确性和安全性?
翼支付
一面
- 自我介绍&项目介绍;
- 介绍项目中如何使用微服务架构,个人主要负责了哪些模块,用到了哪些技术;
- HashMap 如何减少 hash 碰撞;
- 什么场景需要重写 HashCode 方法;
- 项目是否用到了线程池?怎么用的?常用参数有哪些?
- 当线程池核心大小满了,队列满了,在提交任务会创建线程还是排队?
- 谈谈对于数据库索引和约束的理解;
- 数据库的时间类型(DataTime&TimeStamp)?有啥区别?分别占用多大的存储空间?
- Kafka 如何实高可用、可扩展;
- 定时任务框架了解哪些(Elastic-Job、Xxl-Job、Quartz),实现原理是啥,优缺点对比;
- Apollo 实现热部署的原理;
- Redis 热 Key 如何解决?只回答了打散这一种方案
- Redis 的过期删除策略是什么?
- Spring 如何同时注入多态 Bean?提出了通过工厂获取多态实例的方案,面试官说可以集合注入;
二面
- 问项目,以及设计如何优化?
- 是否带过团队?如何帮助他们?
球友们好,《Java 面试指南》专栏又更新了:分享一波面经,朋友深漂 6 年,回西安面了丰疆智能、移动研究院、卓派、腾讯云、翼支付等公司,面试题还是挺有代表性的,球友们如果有从一线城市回二线城市的话,可以参考。
内容收录在星球专栏《Java 面试指南》的《面经分享篇》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记),访问地址和密码:https://t.zsxq.com/6iuzn6I
丰疆智能
西安研发中心,是深圳或者北京的面试官来面。
一面
主要问了项目和一些基础技术,项目细节问的非常细。
线上笔试
在线笔试,主要是考察设计和代码能力。
二面
面试体验很差,不停的 PUA,让给自己打分、笔试打分,反正就是咄咄逼人的感觉,语气也很不耐烦,互相不合适吧~
- 平时如何评估工作量的?
- Java 中的集合有哪些?ArrayList 的扩容机制?无参构建方法初始为空数组,添加第一个元素时,创建长度为 10;当插入元素不够用时,扩容 1.5 倍,如果还不够用就扩容为需要的大小。
- HashMap 什么场景下是线程不安全的?会导致什么后果?
- 线程池有哪些参数?并介绍参数在什么场景下使用?
- 当核心线程数未满,继续提交任务,是复用已经空闲的线程还是继续创建?
- Netty 中的核心组件有哪些?ByteBuf 有哪些方法?Netty 如何实现拆包?自定义拆包处理器是怎么实现的?
- Spring 中有两个同样类型的 Bean,如何注入?如何实现全局统一注入?
- AQS 了解吗?里面都有哪些属性?AQS 有几种模式?你对 AQS 还有哪些理解?
- AQS 的公平锁和非公平锁原理是什么?读写锁的互斥规则?
- Mybatis 如何实现结果绑定到 Java 对象的?
- Spring 为什么要有三级缓存?
- RocketMQ 怎么保证消息不丢,同步发送的 API 是啥?消费者如何保证消息不丢,除了 ACK 机制还有什么方法可以保证?
- JVM 的内存模型?哪个区域不会发生 OOM?
- JVM 都可以调优哪些参数,JDK8 默认的垃圾回收器是啥?都有哪些常见的垃圾回收算法?CMS 垃圾回收卡顿暂停了怎么处理?
还有一些问题,没听明白要问啥,就询问能具体解释一下?他直接说他知道了,下一个问题。。直接就想挂电话了~~
西安移动研究院
一面
- 介绍项目&细节&自己负责了哪些编码工作;
- 包装类是深拷贝还是浅拷贝?
- Redis 的 key 删除策略?
- 写代码时常见的内存泄漏?
- MySQL 索引的结构和搜索数据的过程?
- 数据库的隔离级别?分别解决什么问题?
- 常用的 Spring Boot Starter 有哪些?
- Netty 为什么这么快?Epoll 的实现原理?
- 线程 A 中创建线程 B,线程 B 如何捕获线程 A 的异常?
- K8s 中 config 中环境变量修改,Docker 能否获取?配置文件修改 Docker 能否获取?
- 接口限流如何实现,Guava 和 Redis 如何在项目中结合使用的?
- HashMap 能否直接遍历删除?CurrentHashMap 能否遍历删除?
- 有哪些让线程阻塞的方法?有哪些类使用了 LockSupport?
- 泛型中 Extends 和 Super 关键字的区别?在 put 操作多时用哪种,为什么?在 get 操作多时用哪种,为什么?
- 频繁往外读取内容的,适合用上界 Extends,因为读取的元素都可以用上界定义的类型来接收,父类可以指向子类,如果用 Super,只能用 Object 类型类接收了,因为不确定是哪个父类;
- 经常往里插入的,适合用下界 Super。相当于放松了插入元素的类型,既然元素是 Fruit 的基类,那往里存粒度比 Fruit 小的都可以,如果是 extends,则插入时会报错,因为集合中不确定到底存的是哪个子类,会报错;
- SpringBoot 自动装配原理?
- 项目中如何做统一异常处理?
- Spring 中配置文件的加载顺序?
- 项目中如何做监控?JVM 进程如何监控?机器资源如何监控?
在线测评
完成了在线测评,提交了薪资流水。
西安卓派
一面
- Java 反射中 Super 和 Extend 有啥区别?
- 线程池的运行原理?线程池大小如何设置?项目中如何使用线程池?如何防止线程池滥用?线程池中阻塞队列的意义是啥?
- Spring 中的 ApplicationEvent 使用过?
- ThreadLocal 的数据结构?平时怎么使用?
- Spring 中的@Transactional 是如何使用 ThreadLocal?
- ThreadLocal 的 key 为什么要设置为弱引用而不用一般引用?是基于啥考虑的?
- 多线程中能否使用 ThreadLocal?如果要使用该怎么做?
- Spring 事务的隔离级别了解?你们怎么用?你怎么理解隔离级别?
- Spring 中的 AOP 切面,如果定义了多个增强执行顺序是怎么样的?
- DDD 了解吗?是否知道其中的术语?
- 设计模式了解哪些?如何使用的?具体的使用请求参数以及响应参数是怎么设计?
- 设计原则中的单一职责是啥意思?给一个场景问是否应该设计成单一职责?
- Tomcat 的线程池大小如何配置?
- HTTP 协议的无状态你怎么理解?无状态有啥好处和坏处?
- 介绍项目,特别仔细的聊项目细节;
- 如何实现一个分布式会议室预定系统?保证同一时间段会议室只能被预定成功一次?
- 是否愿意学英语?
二面
hr 面,聊聊做了什么项目,遇到了最复杂的问题是啥?如何解决的?介绍公司和项目,以及相关福利。
三面
上机写代码,两道算法题,一道系统设计题。
面试过程中面试官非常耐心,写的不好的题会给你引导优化方向,整个过程非常愉快。
**经验:**上机考察代码能力,如果题目没看懂一定要积极主动询问,然后就是如果不会解题,可以和面试官交流自己的思路,避免低头不语,写了半天也没有答案;
四面
三面之后紧接着是老板面,西安这边的研发负责人。
主要是聊项目、对于项目设计的理解,什么是好的代码?什么是好的设计?
给出一些具体设计场景,让做选择,反正也没有唯一答案,说清楚自己的考虑点和原因即可,这种就是设计模式作为理论依据,然后结合平时自己的编码实践谈谈感受。
同时也聊到未来的一个发展方向,我正好最近对于后面走技术路线还是技术管理非常困惑,从聊的过程中这个问题也启发很大。
个人感受
卓派是一家外企,内部技术氛围很棒,从整个面试过程中都能感受到面试官非常有包容性,虽然我对于敏捷这块很多专业名词不太了解,也很细心的说了中文对应的翻译,面试的同时也涨了很多见识。
公司的业务发展目前只能算一般,毕竟西安团队只有 30 人,今年预计扩充到 50 人,卡车司机接单也是属于一个细分小众领域,所以公司业务发展这块存在一定的风险。
福利待遇也很不错,全额最高公积金,配置新款 mbp,人体工程学椅,每月团建,我觉得这种公司因为年终奖不高的缘故,肯定不会卷,不像大公司年底绩效决定了一年是否白干,也就不存在拼命卷的情况。
西安腾讯云
一面
- 自我介绍&介绍项目;
- 死磕项目实现过程和个人做了哪些事情,优化了什么,问的很细很细;
- 关于线程池的一个场景题;
- Future 实现阻塞等待获取结果的原理?
- 谈谈什么是零拷贝?
- 一共有几种 IO 模型?NIO 和多路复用的区别?
- JDK 中的 NIO 使用的是什么模型?
- 可重入锁和 Synchronized 的区别?Synchronized 的原理?可重入锁的实现原理?
- 乐观锁和悲观锁, 让你来写你怎么实现?
- ReentrantLock 的实现原理?Synchronized 是个悲观锁还是乐观锁?
- Paxos 算法了解?并发提案时如何处理?
- B+树聊一下?B+树是不是有序的,怎么样的顺序?
- TCP 怎么实现拥塞控制?怎么实现重传(说了思路不过具体的实现回答的不准确)?
- 看你有 JVM 调优经验,介绍下如何调优的;
- 算法题:给一个无序的数组,选一个随机数,实现左边比它大,左右比大小,要求保持原有相对顺序不变;给出的实现方法时间复杂度是多少?
二面
- 两个有序数组求交集;
- 项目介绍;
- Paxos 协议了解?工作流程是怎么样的?
- 时隔太久忘记了。。
三面
- 两个有序数组求交集;
- 二叉树如何持久化存储;
- 自我介绍;
- 前几次跳槽的原因?
- 介绍一个有技术挑战的项目?追问项目细节,问到有点招架不住了;
- 数据库分库分表的缺点是啥?
- 分布式事务如何解决?TCC 了解?
- 介绍下你们微服务项目的整体架构?服务间通信的原理?同步还是异步?
- RocketMQ 如何保证消息的准确性和安全性?
翼支付
一面
- 自我介绍&项目介绍;
- 介绍项目中如何使用微服务架构,个人主要负责了哪些模块,用到了哪些技术;
- HashMap 如何减少 hash 碰撞;
- 什么场景需要重写 HashCode 方法;
- 项目是否用到了线程池?怎么用的?常用参数有哪些?
- 当线程池核心大小满了,队列满了,在提交任务会创建线程还是排队?
- 谈谈对于数据库索引和约束的理解;
- 数据库的时间类型(DataTime&TimeStamp)?有啥区别?分别占用多大的存储空间?
- Kafka 如何实高可用、可扩展;
- 定时任务框架了解哪些(Elastic-Job、Xxl-Job、Quartz),实现原理是啥,优缺点对比;
- Apollo 实现热部署的原理;
- Redis 热 Key 如何解决?只回答了打散这一种方案
- Redis 的过期删除策略是什么?
- Spring 如何同时注入多态 Bean?提出了通过工厂获取多态实例的方案,面试官说可以集合注入;
二面
- 问项目,以及设计如何优化?
- 是否带过团队?如何帮助他们?
球友们好,《Java 面试指南》专栏又更新了:分享一波面经,朋友深漂 6 年,回西安面了丰疆智能、移动研究院、卓派、腾讯云、翼支付等公司,面试题还是挺有代表性的,球友们如果有从一线城市回二线城市的话,可以参考。
内容收录在星球专栏《Java 面试指南》的《面经分享篇》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记),访问地址和密码:https://t.zsxq.com/6iuzn6I
丰疆智能
西安研发中心,是深圳或者北京的面试官来面。
一面
主要问了项目和一些基础技术,项目细节问的非常细。
线上笔试
在线笔试,主要是考察设计和代码能力。
二面
面试体验很差,不停的 PUA,让给自己打分、笔试打分,反正就是咄咄逼人的感觉,语气也很不耐烦,互相不合适吧~
- 平时如何评估工作量的?
- Java 中的集合有哪些?ArrayList 的扩容机制?无参构建方法初始为空数组,添加第一个元素时,创建长度为 10;当插入元素不够用时,扩容 1.5 倍,如果还不够用就扩容为需要的大小。
- HashMap 什么场景下是线程不安全的?会导致什么后果?
- 线程池有哪些参数?并介绍参数在什么场景下使用?
- 当核心线程数未满,继续提交任务,是复用已经空闲的线程还是继续创建?
- Netty 中的核心组件有哪些?ByteBuf 有哪些方法?Netty 如何实现拆包?自定义拆包处理器是怎么实现的?
- Spring 中有两个同样类型的 Bean,如何注入?如何实现全局统一注入?
- AQS 了解吗?里面都有哪些属性?AQS 有几种模式?你对 AQS 还有哪些理解?
- AQS 的公平锁和非公平锁原理是什么?读写锁的互斥规则?
- Mybatis 如何实现结果绑定到 Java 对象的?
- Spring 为什么要有三级缓存?
- RocketMQ 怎么保证消息不丢,同步发送的 API 是啥?消费者如何保证消息不丢,除了 ACK 机制还有什么方法可以保证?
- JVM 的内存模型?哪个区域不会发生 OOM?
- JVM 都可以调优哪些参数,JDK8 默认的垃圾回收器是啥?都有哪些常见的垃圾回收算法?CMS 垃圾回收卡顿暂停了怎么处理?
还有一些问题,没听明白要问啥,就询问能具体解释一下?他直接说他知道了,下一个问题。。直接就想挂电话了~~
西安移动研究院
一面
- 介绍项目&细节&自己负责了哪些编码工作;
- 包装类是深拷贝还是浅拷贝?
- Redis 的 key 删除策略?
- 写代码时常见的内存泄漏?
- MySQL 索引的结构和搜索数据的过程?
- 数据库的隔离级别?分别解决什么问题?
- 常用的 Spring Boot Starter 有哪些?
- Netty 为什么这么快?Epoll 的实现原理?
- 线程 A 中创建线程 B,线程 B 如何捕获线程 A 的异常?
- K8s 中 config 中环境变量修改,Docker 能否获取?配置文件修改 Docker 能否获取?
- 接口限流如何实现,Guava 和 Redis 如何在项目中结合使用的?
- HashMap 能否直接遍历删除?CurrentHashMap 能否遍历删除?
- 有哪些让线程阻塞的方法?有哪些类使用了 LockSupport?
- 泛型中 Extends 和 Super 关键字的区别?在 put 操作多时用哪种,为什么?在 get 操作多时用哪种,为什么?
- 频繁往外读取内容的,适合用上界 Extends,因为读取的元素都可以用上界定义的类型来接收,父类可以指向子类,如果用 Super,只能用 Object 类型类接收了,因为不确定是哪个父类;
- 经常往里插入的,适合用下界 Super。相当于放松了插入元素的类型,既然元素是 Fruit 的基类,那往里存粒度比 Fruit 小的都可以,如果是 extends,则插入时会报错,因为集合中不确定到底存的是哪个子类,会报错;
- SpringBoot 自动装配原理?
- 项目中如何做统一异常处理?
- Spring 中配置文件的加载顺序?
- 项目中如何做监控?JVM 进程如何监控?机器资源如何监控?
在线测评
完成了在线测评,提交了薪资流水。
西安卓派
一面
- Java 反射中 Super 和 Extend 有啥区别?
- 线程池的运行原理?线程池大小如何设置?项目中如何使用线程池?如何防止线程池滥用?线程池中阻塞队列的意义是啥?
- Spring 中的 ApplicationEvent 使用过?
- ThreadLocal 的数据结构?平时怎么使用?
- Spring 中的@Transactional 是如何使用 ThreadLocal?
- ThreadLocal 的 key 为什么要设置为弱引用而不用一般引用?是基于啥考虑的?
- 多线程中能否使用 ThreadLocal?如果要使用该怎么做?
- Spring 事务的隔离级别了解?你们怎么用?你怎么理解隔离级别?
- Spring 中的 AOP 切面,如果定义了多个增强执行顺序是怎么样的?
- DDD 了解吗?是否知道其中的术语?
- 设计模式了解哪些?如何使用的?具体的使用请求参数以及响应参数是怎么设计?
- 设计原则中的单一职责是啥意思?给一个场景问是否应该设计成单一职责?
- Tomcat 的线程池大小如何配置?
- HTTP 协议的无状态你怎么理解?无状态有啥好处和坏处?
- 介绍项目,特别仔细的聊项目细节;
- 如何实现一个分布式会议室预定系统?保证同一时间段会议室只能被预定成功一次?
- 是否愿意学英语?
二面
hr 面,聊聊做了什么项目,遇到了最复杂的问题是啥?如何解决的?介绍公司和项目,以及相关福利。
三面
上机写代码,两道算法题,一道系统设计题。
面试过程中面试官非常耐心,写的不好的题会给你引导优化方向,整个过程非常愉快。
**经验:**上机考察代码能力,如果题目没看懂一定要积极主动询问,然后就是如果不会解题,可以和面试官交流自己的思路,避免低头不语,写了半天也没有答案;
四面
三面之后紧接着是老板面,西安这边的研发负责人。
主要是聊项目、对于项目设计的理解,什么是好的代码?什么是好的设计?
给出一些具体设计场景,让做选择,反正也没有唯一答案,说清楚自己的考虑点和原因即可,这种就是设计模式作为理论依据,然后结合平时自己的编码实践谈谈感受。
同时也聊到未来的一个发展方向,我正好最近对于后面走技术路线还是技术管理非常困惑,从聊的过程中这个问题也启发很大。
个人感受
卓派是一家外企,内部技术氛围很棒,从整个面试过程中都能感受到面试官非常有包容性,虽然我对于敏捷这块很多专业名词不太了解,也很细心的说了中文对应的翻译,面试的同时也涨了很多见识。
公司的业务发展目前只能算一般,毕竟西安团队只有 30 人,今年预计扩充到 50 人,卡车司机接单也是属于一个细分小众领域,所以公司业务发展这块存在一定的风险。
福利待遇也很不错,全额最高公积金,配置新款 mbp,人体工程学椅,每月团建,我觉得这种公司因为年终奖不高的缘故,肯定不会卷,不像大公司年底绩效决定了一年是否白干,也就不存在拼命卷的情况。
西安腾讯云
一面
- 自我介绍&介绍项目;
- 死磕项目实现过程和个人做了哪些事情,优化了什么,问的很细很细;
- 关于线程池的一个场景题;
- Future 实现阻塞等待获取结果的原理?
- 谈谈什么是零拷贝?
- 一共有几种 IO 模型?NIO 和多路复用的区别?
- JDK 中的 NIO 使用的是什么模型?
- 可重入锁和 Synchronized 的区别?Synchronized 的原理?可重入锁的实现原理?
- 乐观锁和悲观锁, 让你来写你怎么实现?
- ReentrantLock 的实现原理?Synchronized 是个悲观锁还是乐观锁?
- Paxos 算法了解?并发提案时如何处理?
- B+树聊一下?B+树是不是有序的,怎么样的顺序?
- TCP 怎么实现拥塞控制?怎么实现重传(说了思路不过具体的实现回答的不准确)?
- 看你有 JVM 调优经验,介绍下如何调优的;
- 算法题:给一个无序的数组,选一个随机数,实现左边比它大,左右比大小,要求保持原有相对顺序不变;给出的实现方法时间复杂度是多少?
二面
- 两个有序数组求交集;
- 项目介绍;
- Paxos 协议了解?工作流程是怎么样的?
- 时隔太久忘记了。。
三面
- 两个有序数组求交集;
- 二叉树如何持久化存储;
- 自我介绍;
- 前几次跳槽的原因?
- 介绍一个有技术挑战的项目?追问项目细节,问到有点招架不住了;
- 数据库分库分表的缺点是啥?
- 分布式事务如何解决?TCC 了解?
- 介绍下你们微服务项目的整体架构?服务间通信的原理?同步还是异步?
- RocketMQ 如何保证消息的准确性和安全性?
翼支付
一面
- 自我介绍&项目介绍;
- 介绍项目中如何使用微服务架构,个人主要负责了哪些模块,用到了哪些技术;
- HashMap 如何减少 hash 碰撞;
- 什么场景需要重写 HashCode 方法;
- 项目是否用到了线程池?怎么用的?常用参数有哪些?
- 当线程池核心大小满了,队列满了,在提交任务会创建线程还是排队?
- 谈谈对于数据库索引和约束的理解;
- 数据库的时间类型(DataTime&TimeStamp)?有啥区别?分别占用多大的存储空间?
- Kafka 如何实高可用、可扩展;
- 定时任务框架了解哪些(Elastic-Job、Xxl-Job、Quartz),实现原理是啥,优缺点对比;
- Apollo 实现热部署的原理;
- Redis 热 Key 如何解决?只回答了打散这一种方案
- Redis 的过期删除策略是什么?
- Spring 如何同时注入多态 Bean?提出了通过工厂获取多态实例的方案,面试官说可以集合注入;
二面
-
问项目,以及设计如何优化?
-
是否带过团队?如何帮助他们?
知识星球 扫码加入星球 查看更多优质内容 https://wx.zsxq.com/mweb/views/joingroup/join_group.html?group_id=15522885221412