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)

大家都在看

  • []企业的生命周期总结提炼

    [原创]企业的生命周期总结提炼 [原创]企业的生命周期总结提炼 企业生命周期,通常可以分为初创期、成长期、成熟期、衰退期等四个阶段。 做企业一定要”顺势而为&#8221…

    技术杂谈 2023年5月30日
    0102
  • 不为繁华易匠心

    做技术是需要匠心的。什么是匠心?我们原本是有匠心的,我们如今还有匠心吗?我们为什么没有匠心了?为什么我们要重拾匠心?如何重拾匠心? 一. 做技术是需要匠心的 中国古时的玉匠,切磋琢…

    技术杂谈 2023年6月1日
    087
  • NFS 与 NAS 是什么关系

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    086
  • 人工智能(AI)库TensorFlow 踩坑日记之一

    本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑。所以就先跳过算法介绍直接来应用场景,原谅我吧。 TensorFlow 介绍 TF是google…

    技术杂谈 2023年6月21日
    077
  • Kafka详解

    Kafka介绍 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,…

    技术杂谈 2023年7月24日
    065
  • 在 Kubernetes 容器集群,微服务项目最佳实践

    本文主要介绍我个人在使用 Kubernetes 的过程中,总结出的一套「Kubernetes 配置」,是我个人的「最佳实践」。其中大部分内容都经历过线上环境的考验,但是也有少部分还…

    技术杂谈 2023年5月31日
    080
  • 为什么要使用String.intern()

    最近在阅读《深入理解Jav虚拟机》的运行时常量池章节,看到”java语言并不要求常量池一定只有编译器才能产生…运行期间也可以将新的常量放入常量池,这种特性被…

    技术杂谈 2023年7月25日
    057
  • 《3-D Deep Learning Approach for Remote Sensing Image Classification》论文笔记

    论文题目《3-D Deep Learning Approach for Remote Sensing Image Classification》论文作者:Amina Ben Ham…

    技术杂谈 2023年6月21日
    086
  • 告别输入密码,SSH记住密码和设置别名

    SSH记住密码是一件十分简单的事情,只是互联网上很多文章都误导了大家。下面这些命令有很多的option,想要了解更多的可以去Google查找。 在终端运行如下命令进行ssh的秘钥生…

    技术杂谈 2023年6月21日
    083
  • 定制化知识图谱 项目介绍

    宣传网站 http://dingzhitupu.com/ 定制化知识图谱 根据您的业务特性,通过图分析、建模,创建专门适合与您业务逻辑的专有知识图谱 特性介绍 用户不必懂相关技术 …

    技术杂谈 2023年5月31日
    088
  • Springboot笔记

    SpringBoot简介 Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂…

    技术杂谈 2023年7月11日
    044
  • 很详细的FFT(快速傅里叶变换)概念与实现

    FFT 首先要说明一个误区,很多人认为FFT只是用来处理多项式乘的,其实FFT是用来实现多项式的系数表示法和点值表示法的快速转换的,所以FFT的用处远不止多项式乘。 FFT的前置知…

    技术杂谈 2023年6月21日
    065
  • 一步一图带你深入理解 Linux 虚拟内存管理

    写在本文开始之前…. 从本文开始我们就正式开启了 Linux 内核内存管理子系统源码解析系列,笔者还是会秉承之前系列文章的风格,采用一步一图的方式先是详细介绍相关原理,…

    技术杂谈 2023年7月11日
    065
  • 迷宫问题详解(数据结构实验)

    实验项目 2: 栈结构及其应用 实验题目: 迷宫问题求解 实验内容: 一个迷宫可以看成是由 m × n 个房间组成的矩形,迷宫内部的每个房间有 4个方向,每个方向或者有障碍(如墙)…

    技术杂谈 2023年7月11日
    0104
  • 关于IoAttachDeviceToDeviceStack

    IoAttachDeviceToDeviceStack将Source Device附加到Target Device上。 打开windbgkd> u IoAttachDevic…

    技术杂谈 2023年5月31日
    075
  • Kubernetes 概念整理

    注:以下大部分内容来自网上摘录,以便后期查阅。 Kubernetes (通常称为 K8s) 是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统,是 G…

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