520没啥好送的,送一份面经总结吧(内含字节、虾皮、欢聚等)

520没啥好送的,送一份面经总结吧(内含字节、虾皮、欢聚等)

前言

今天不想写文章,水一篇面经。
本来也没打算搞这些,但是看到大家都在面,就跟着出去试试水。我工作已经一年多接近两年,这个工作时长其实比较尴尬,中级岗位自己不满意,高级岗位大厂评级比较难上去。

首先说一下我的工作内容,主要做金融相关的业务,目前做的是金融风控系统,常用技术也就是那些烂大街的。

关于这次面试的准备,主要有几点:

  • 八股文,这一块我倒是没怎么看,压根没复习
  • 框架,Spring这些我相对熟悉,也没怎么复习
  • 业务,金融业务相对复杂点,可以说的点有很多,这点可能项目有点儿优势
  • 算法,LeetCode随便刷刷

520没啥好送的,送一份面经总结吧(内含字节、虾皮、欢聚等)

把简历挂boss就有人来约面试了,但是实际上我参加了的就这几家,最终除了bigo莫名其妙终止流程外,其他都拿到了offer。

520没啥好送的,送一份面经总结吧(内含字节、虾皮、欢聚等)

这里不得不吐槽一下bigo,纯粹刷KPI,把流程终止后说找到更合适的人选了,但是我追问更合适的人是需要什么要求,HR又说他们现在不招人,我真是醉了。不招人约个锤子面试,浪费时间。

这里的面试顺序是我实际上参与面试的时间进行记录的,并没有特意再根据公司进行归类。可以看到,其实问下来的内容七七八八都是这些,基本是按照简历写的来,没超出太多。

面经

某金融公司 一面

0.项目,因为项目类似,聊了比较多,都很熟悉。

1.数据库的ACID实现

2.MySQL索引的结构

3.跳表

4.七层网络协议,tcp,可靠消息,流量控制,拥塞处理

5.最大公共不连续子串

某金融公司 二面

1.继续项目,难点在哪,做了什么等

2.各种中间件聊一下

3.定时任务优化聊了一下时间轮和大概的实现

4.Spring聊一下无了

字节 一面

1.MySQL数据库的连接设置

2.100个小球,有一个质量不一样的,怎么用天平秤两次找出这个小球

3.最长公共子串连续

4.MySQL一个SQL插入的过程,结合各层的实现和索引实现去讲,会有些页分裂整理什么的

5.索引的查询原理,为什么是B+ 树,有什么优劣,其他可以做数据库的结构,数组,哈希表,LSM树(hbase)等,各自的优缺点

6.tcp http https ssl

欢聚 一面

1.自我介绍

2.流程引擎,并行流程引擎处理

3.Dubbo 负载均衡

4.spring 循环依赖

5.配置中心动态生效 热部署

6.Redis

7.锁 乐观锁 悲观锁 synchronized原理

8.CAS带来的问题 ABA问题

9.countdownlatch底层原理

10.tcp udp

11.线上出现过的问题 索引失效 字符编码加号坑爹

12.两个线程交叉打印数字

13.写个冒泡 优化一下

14.最近在读什么书 看完了没有 看了多久 graalvm 静态编译原理 看完了 花了三个月 期望云原生发展方向

字节二面

1.项目介绍

2.流程引擎的设计 为什么这么选型 对比市面上的有什么优势 Osworkflow JBPM Activiti flowable Camunda

3.有没有对流程引擎进行过压测,性能如何

4.redis key过期时间到了,那再去查就一定没有了吗? 延迟删除,主从同步延迟 时钟跳跃 可以设定精确的过期时间 expireAt 时间点

5.Map有哪些实现 HashMap TreeMap ConcurrentHashMap LinkedHashMap,TreeMap 和HashMap的区别,底层的数据结构分别是什么,日常有没有遇到使用map出现并发问题

6.CPU高怎么去分析 top定位线程, jstack定位代码

7.dubbo 的负载均衡策略 随机 轮询 权重 一致性哈希 分别有什么优缺点和问题,项目里使用的是哪一种,线上有没有因为此策略而出现过问题

8.dubbo 的重试机制 怎么实现一个dubbo协议,需要集成哪些类,分别完成什么操作 protocol ,injvm dubbo协议的实现扯一下

9.io模型,react模型

10.tcp udp的区别 从面向链接 可靠开始 到三次握手 四次挥手 流量控制 慢开始 拥塞避免 快重传 快恢复

11.解决了什么项目难点 解决了规则执行日志的收集 项目出现什么问题比较深刻

12.计算一棵树的最大宽度 LeetCode 662,节点计数法,或者空间利用

13.找零,雪糕5一根 客人会用5 10 20 面值来买,你要保证正确找零 ,一开始手上没有零钱 直接遍历一遍解

14.有没有你比较擅长但是我没有问到的 spring相关

15.QA:当前业务是什么,难点是什么,未来发展的趋势

虾皮 一面

1.kafka消息保存机制 内存 落盘 异步刷盘

2.kafka是怎么保持消息可靠的,消息确认机制 1 0 -1

3.生产中kafka消费遇到的问题 消息堆积 阻塞 多线程消费

4.数据库性能瓶颈 慢SQL查询 多长算慢SQL 500ms

5.数据结构 数组链表的区别 哈希表的实现原理 链表转红黑树 红黑树的细节,节点的定义,怎么染色的,如何旋转 怎么实现

6.jvm垃圾收集器 serial parallel CMS G1,各种优缺点,并发标记有什么优缺点,浮动垃圾怎么处理 ,项目里用了哪个

7.jvm参数了解哪些,进行了什么调优 Eden s1 s2

8.jvm 8的元空间了解吗 里面存储了什么信息 跟永久代的区别 元空间会引发fullgc吗 为什么要有元空间 元空间怎么实现的

9.tcp问题四次挥手的细节,主动关闭被动关闭分别会发送什么报文,然后进入什么状态,其中会引发什么问题 close timewait状态答得不准确,这里问得很细,问到了fin_wait_1这些状态

10.http https ssl

11.非对称加密算法了解哪些 RSA原理知道吗 大质素相乘,数学推算细节知道吗 不知道GG

12.算法 ipv4地址匹配

虾皮 二面

1.业务的流程,偏金融相关:从获客千人千面开始到核心系统群里面的状态流转,到最终流程结束 完整阐述一遍,提了一些重要问题的点

2.为什么要用一套流程引擎,业务和代码解耦,方便业务的操作。怎么确保流程是对的,并且能用。两个方面,技术保证系统的可用性,业务保证业务逻辑的正确性。深入阐述。

2.那流程上线之前的正确性怎么验证 sit -> uat -> pre -> pet -> preprod -> prod ,AB测试 风控数据团队并行灰度对数

3.对于业务的理解,技术服务于业务,以满足业务为前提,聊天

4.接下来是比较多的case by case

5.简单场景下,两个账户互相转账,怎么保持结果正确 锁 乐观锁 悲观锁

6.分布式场景下,上述情况怎么保持结果正确,分布式锁,随口提了一嘴Redis 顺便搞了一嘴redis的高性能 高可靠如何保障 分布式事物,seata简单实现原理 XA TCC 2PC 3PC 一致性算法raft 最终保障数据一致性

7.还是上述分布式场景,服务调用出现了问题,怎么处理 调用端重试,带上重试标识等,服务端幂等或者响应重试等

8.承接场景7,并发量数据量上来了,如何处理 缓存 数据进行分库分表

9.那么好,分库分表假设给你一个账户表 要保障高并发下账户的数据是正确的,如何分表,按照什么维度划分,巴拉了一下横切竖切,分析了一下热点账户处理,添加影子账户巴拉巴拉

10.可以正常交易后如何保障交易的安全性 ,这几个点比较有趣,即 :

  • 不可见性 加密巴拉巴拉 对称 非对称
  • 不可篡改性 加密巴拉巴拉 非对称加密 CA认证 风险监控 可疑IP链路监控
  • 不可抵赖性 人脸识别 活体检测 巴拉巴拉

11.MySQL的ACID逐个说明,MVCC 当前读 快照读 事务的可见性 readview trx_ix roll_ptr row_id

12.底层索引的组织实现,B+树的特性,MySQL里面叶子节点个数,层数等 一般节点数为1200 层次为4,可存节点17亿左右,叶子节点顺序遍历,数据页大小,内存碎片整理,页分裂等巴拉一下

13.在索引上进行一次增删改查的流程,B+树的操作,节点调整 分裂合并等瞎扯

14.QA:业务方向 难点以及解决方案

bigo 一面

1.系统的业务,系统主要模块划分,说一下架构图 我在里面主要做了什么,接下来业务的详细流程巴拉巴拉

2.谈一下你对dubbo的了解,dubbo的模块区划分,简单说一下一个rpc框架的的结构 序列化层 协议层 传输层 服务层 API层

3.上游服务调下游服务,数据的传输流程是怎样传输的 简单描述一次RPC的调用过程,从2.的层次去回答

4.多线程请求的情况下,RPC调用后消息怎么正确返回调用结果 消息序列号

5.线程安全的容器,concurrentHashMap的实现原理 HashMap 对比HashMap原理,1.7 1.8前后的改变 锁

6.ConCurrentHashMap的put/get实现原理 也对比HashMap去说 初始化 扩容 哈希冲突 拉链法 链表数组转换

7.线程池有哪些常用的参数 简单说了一下corepoolsize maxpoolsize keepalive policy queue,说了一下业务中线程池的使用

8.线程的状态有哪些?状态之间怎么转换 对比操作系统的线程模型简单说下 说了cpu调度 io等的影响

9.Redis缓存雪崩是什么? 对比了缓存穿透 缓存击穿说了一下

10.MySQL事务隔离级别 Read Uncommit Read Commit Repeatable Read Serialize 分别说了一下会造成的问题

11.幻读和可重复读有什么区别 说一下含义说的区别 举例子说明出现的场景 最后说下怎么解决 next-key 锁 gap 锁

12.间隙锁原理

13.kafka的组件架构 这个答得不好,随便说了一个server broker partition 瞎扯了一番消息发送可靠性是如何保证的,面试官很无语 我压根没问,你说那么多干哈玩意

14.kafka写消息机制 写内存 落盘 异步刷盘 主从同步等

15.算法:链表里面环的长度(leetcode 141与142结合体)秒了五分钟写完

欢聚 二面

1.项目 我状态不好,很困,瞎说了一堆,不知所云 也可能是面试官并不熟悉这一块业务,我们总互相Get不到点 蓝瘦

2.项目里遇到的难点

3.jvm调优 最新版本的jdk用的是什么垃圾收集器 CMS G1 ZGC 三色标记

4.oracle MySQL 的区别

5.设计一个地址簿

字节 三面

1.聊家常

2.项目里面做了什么 处理了什么 难点是什么

3.线上出过什么比较印象深刻的问题,索引失效 出现原因,处理方案 后果

4.怎么搭建一个redis集群 单点 集群 redis cluster codis优缺点,怎么实现高可用 数据同步等问题,一揽子巴拉一通

5.一致性算法 paxos raft 从拜占庭将军问题开始扯

6.mysql主从同步如何实现,巴拉了一下binlog,同步出现的时效问题等

7.技术挺好的,为什么一毕业没去大厂

8.QA 业务难点

总结

这些问题好像都比较合理,这些也算是对自己工作快两年的一个总结吧,浑浑噩噩又两年。不过由于都是自己事后凭着记忆力回写的,有错有漏在所难免,轻拍。

一趟下来这一路都是走流程,你好、我是、好的、再见。

万能模板:

  • 非常感谢贵公司对我的认可。但是由于接到了更好的机会,不能接受贵公司的offer,我觉得非常遗憾。希望我们可以保持联系,以后如果有机会,希望能与贵公司由更紧密的联系。但这次我真的非常抱歉,还请贵公司理解。谢谢。

如果有人看到这里,那在这里老话重提。 与君共勉,路漫漫其修远兮,吾将上下而求索。

Original: https://www.cnblogs.com/codegitz/p/16292157.html
Author: Codegitz
Title: 520没啥好送的,送一份面经总结吧(内含字节、虾皮、欢聚等)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713393/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 免费公测 标贝声音理解,检测声音性别和年龄

    古有听声辨位,今有听声”识”人。说到声音,其本质是不同频率声音的集合,以波的形式振动(震动)传播。由于每个人的发声器官(口腔、鼻腔、声带)各不相同,因此每个…

    技术杂谈 2023年7月25日
    069
  • source insight4.0最常用到的设置

    1、常用功能 1.1:全局查找 1.2:当前文件查找 1.3:高亮设置 1.4:配置字体以及其他 1.5:配置自动缩进 1.6:其他 1. 常用功能 全局查找 Ctl+/ 查找到的…

    技术杂谈 2023年6月21日
    078
  • 基于图像识别框架Airtest的Windows项目自动化测试实践

    写在前面 上一篇分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。而同样基于图像识别框架的…

    技术杂谈 2023年7月25日
    086
  • 解决用官方容器启动redmine无法插入中文字符的问题

    之前采用docker-compose顺利搭建了redmine,但是在使用时发现无法插入中文字符,始终报internal server error错误,后来看日志,显示插入异常,现在…

    技术杂谈 2023年5月31日
    0109
  • Vue笔记:Vue3 Table导出为Excel

    1、安装 2、添加插件 在 src 目录下创建一个文件(vendor) 并添加Blob.js和Export2Excel.js,对 Export2Excel.js 添加了一段代码,可…

    技术杂谈 2023年5月31日
    098
  • 策略模式、策略模式与Spring的碰撞

    策略模式是GoF23种设计模式中比较简单的了,也是常用的设计模式之一,今天我们就来看看策略模式。 实际案例 我工作第三年的时候,重构旅游路线的机票查询模块,旅游路线分为四种情况: …

    技术杂谈 2023年7月25日
    054
  • Mac拖拽文件

    欢迎加微信交流学习。 明人不说暗话欢迎打赏 微信:jiqing9006 共8888人支持!!! 我们用电脑,通常需要拖拽文件。 Windows,鼠标单击就可以拖拽了。 Mac如何实…

    技术杂谈 2023年5月30日
    092
  • elasticsearch通用工具类

    这几天写了一个关于es的工具类,主要封装了业务中常用es的常用方法。 本文中使用到的elasticsearch版本6.7,但实际上也支持es7.x以上版本,因为主要是对spring…

    技术杂谈 2023年7月10日
    064
  • MyBatisPlus实现分页和查询操作就这么简单

    《SpringBoot整合MybatisPlus基本的增删改查,保姆级教程》在这篇文章中,我们详细介绍了分页的具体实现方法。但是,在日常的开发中还需要搜索功能的。下面让我们一起动起…

    技术杂谈 2023年6月21日
    096
  • 57_scala中的import

    1 posted @2022-07-06 12:25 学而不思则罔! 阅读(5 ) 评论() 编辑 Original: https://www.cnblogs.com/bajiao…

    技术杂谈 2023年7月10日
    091
  • 12.路径总和

    title: 路径总和 📃 题目描述 题目链接:路径总和 🔔 解题思路 可以参考一下 二叉树的所有路径 这题; 方法一:递归方法,回溯,重点:每次传入当前数据的总和进去,每次还需要…

    技术杂谈 2023年7月24日
    074
  • AJAX 简介

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML / XHTML CSS …

    技术杂谈 2023年5月31日
    0125
  • python 文件的基本操作

    * f1 = open(‘read.txt’, encoding=’utf-8′,mode=’r’) f1变量称为文件操作句柄,通常以f1、file_handler、f_h等约定俗…

    技术杂谈 2023年6月21日
    0100
  • SpringBoot-shiro

    SpringBoot-shiro 12.1 快速入门 1、导入依赖 org.apache.shiro shiro-core 1.8.0 org.slf4j jcl-over-slf…

    技术杂谈 2023年6月21日
    090
  • 运算符重载限制

    p387 5.表 11.1 中的大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。 =:赋值运算符。 ():函数调用运算符。 []:下标运算符…

    技术杂谈 2023年7月11日
    070
  • Delphi 之弹出气泡消息提示

    ///////////////////////———-参数说明—————&#8212…

    技术杂谈 2023年5月31日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球