2021年底面试记录

上古伪神

共 3791字,需浏览 8分钟

 · 2022-01-13

目录:

  • 前言

  • 腾讯QQ音乐(三面挂)

    • 一面

    • 二面

    • 三面

  • 字节飞书(二面挂)

    • 一面

    • 二面

  • 深信服

    • 一面

    • 二面

  • 商汤(二面挂)

    • 一面

    • 二面

  • 虾皮

    • 一面

    • 二面

  • 顺丰数科(一面挂)

  • 字节国际化电商

    • 一面:

    • 二面:

    • 三面:

  • 总结


前言

今天这篇用来记录一下这两三个月的面试历程,包括普通八股文、算法

有些是面试完几天后才记录的,只想起了个大概,详细的记不太清楚了

只是题目,答案的话直接网上搜索就行了

腾讯QQ音乐(三面挂)

一面

一面是算法面,主要有三道算法题,基本都是简单题型

(1)字符串查找

给定一个abdcdd字符串和一个abd字符串,在abdcdd字符串中找出abd字符串出现的第一个位置(从0开始),如果不存在,则返回-1.

例如:

输入:abdcdd="hello",abd="ll"
输出:2

(2)atoi函数

实现atoi函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。

例如:

输入:+3838
输出:3838

输入:-99kdj98
输出:-99

输入:dkdkdkdk
输出:0

leetcode地址:https://leetcode-cn.com/problems/string-to-integer-atoi/

(3)判断字符串是否有效

给定一个只包括的'(',')','{','}','[',']'字符串,判断字符里是否有效。

例如:

输入:"()"
输出:true

输入:"(){}[]"
输出:true

输入:"(]"
输出:false

二面

1、介绍下java gc

2、介绍下JUC,线程安全方面的

3、mysql事务相关、锁、索引、事务如何实现

4、redis集群模式、数据结构

5、kafka副本是怎么样的、kafka为什么快?

5、select、poll、epoll是怎么样的

6、TCP三次握手、四次挥手、为什么需要三次握手,四次挥手、滑动窗口

7、粘包是什么情况,如何解决?

8、介绍下项目:项目架构、多少人维护、做了多久、用户量、我在其中担任什么角色,做了什么功能

三面

三面有两道算法题和八股文

算法题:

(1)去除字符串中的空格

(2)获取字符串的所有子序列

leetcode类似题型:https://leetcode-cn.com/problems/subsets/

这道题在面试中没做出来哈哈哈

八股文:

1、说一下用到的存储系统

2、说一下redis的key是怎么进行hash的?一致性hash算法?Hash的负载因子是多少

3、TCP三次握手中的backlog是怎么样的

4、kafka的源码有没有看过、redis源码有没看过(问到这里的时候基本已经可以肯定挂掉了)

5、linux如何查看磁盘读写性能等

字节飞书(二面挂)

一面

算法题:

(1)单链表部分反转

(2)旋转数组中查找元素

八股文:

1、JVM内存结构,垃圾收集器,GC等

2、多路复用,redis使用了Reactor模式,它为什么快?

3、spring的依赖注入解决了什么问题?

4、说一下java锁机制?对象锁?公平锁?非公平锁?可重入锁?不可重入锁?自旋锁?

二面

算法题:

(1)二叉树的最长路径

八股文:

1、kafka partition底层存储是怎么样的

2、kafka如何确保消息一次消费且只被消费一次

3、kafka如何确保生产者消息发送成功

4、kafka 的消费者在消费成功、失败该怎么处理

5、mysql的innodb底层存储是怎么样的

6、mysql跟hbase的存储结构有什么不一样

7、内存池如何设计

8、进程间通信,最快的方式是什么,内存在内核还是用户态操作

9、TCP/IP如何解决粘包问题

深信服

记录的是大概,详细的题目忘了

一面

1、JVM

2、Kafka

(1)kafka如何确保消息的exactly onece semantic–EOS,从生产者、队列、消费者端分别回答

(2)副本之间如何同步

(3)kafka为什么这么快

(4)一台服务器上有太多partition会出现什么问题

3、spring cloud

4、mysql

编程题:多个线程打印一个列表

二面

(1)项目

(2)spring cloud之间如何互相调用

(3)mysql

(4)遇到的难题(这种题最难答了)

编程题:删除相邻重复字符,例如 abccdee  --> abcde

商汤(二面挂)

一面

1、创建线程方式

2、线程池参数

3、线程池任务怎么执行

4、怎么停止线程池的某个任务

5、泛型是怎么样的

6、泛型有哪几种,运行期能获取泛型参数类型吗,?号怎么用

7、什么时候进行full gc

8、频繁full gc如何排查

9、内存溢出怎么排查

10、mysql的隔离级别、以及会导致什么问题

11、幻读如何解决

12、mysql中要手动加锁还是自动加锁,一条sql是怎么加锁的

13、怎么优化慢查询

14、mvcc是什么

15、mysql索引类型

16、mysql存储引擎以及区别

17、spring ioc、aop等信息,aop底层实现有什么

18、spring cloud全家桶

19、有没看过spring 全家桶源代码

20、spring eureka的流程

21、linux一堆命令,比如查看某个进程pid、只查看PID用什么、查看磁盘使用量、查看线程所用cpu:top -H

22、restful是什么

23、如何设计一个接口:图片和其它信息一起上传?然后扯一堆问题

24、短信接口如何实现,需要考虑什么问题

25、如何方式恶意刷接口行为?人机校验接口如何实现?

二面

1、项目

2、springcloud

3、netty粘包拆包怎么解决,netty中channel有几种

虾皮

一面

详细的没记录,大概就是这几个

1、JVM

2、mysql

3、kafka

4、redis

5、spring cloud

6、算法题:合并两个有序链表

二面

1、讨论项目

2、遇到的难点,是怎么解决的

顺丰数科(一面挂)

1、tcp粘包是如何导致的?tcp是长连接吗?tcp和http的keepalive有什么区别

2、udp会有粘包吗

3、netty的粘包如何处理

4、io多路复用是怎么样的

5、select、poll、epoll是怎么样的

6、mysql索引是如何加快搜索的

7、慢sql如何进行优化

8、limit分页如何进行优化

9、spring transaction会失效吗?

10、数据库和缓存不一致如何处理?

11、性能优化操作时如何利用arthas进行操作的?

12、spring cloud有哪些组件

13、为什么会有Feign组件,跟Ribbon需要自构建http请求如何区分

14、微服务之间怎么进行调用,pod之间如何在网络层相互调用

15、spring循环依赖如何处理?构造注入的循环依赖处理?

16、spring 拦截器、过滤器

17、如何在生产中查看日志,除了elk或其它日志平台,大文本日志如何查看相应时间段的日志?

18、ES如何进行文档搜索、底层搜索流程是怎么样的

字节国际化电商

一面:

1、讨论项目

2、缓存系统该如何设计

3、kafka的副本之间是如何同步的

4、mysql的索引是怎么样的,为什么可以加快搜索

5、mysql底层存储是怎么样的,如何加载数据

6、数据库事务是如何是实现的

7、算法题:删除单链表倒数第n个节点

二面:

1、linux进程、线程是什么样的,协程是怎么样的

2、进程线程模型,1:n和1:1有什么区别

2、tcp如何确保消息顺序、消息不丢失

3、TCP发送端没接收到接收端返回的ack应该怎么处理

4、传输协议有了解过吗?像protobuf等,该怎么去设计消息体结构,要是文本类消息该如何设计消息体结构

3、https如何进行单方面认证,比如客户端认证服务端

4、线程之间如何进行通信

5、mysql的原子性时怎么样的,如何保证原子性

6、脏读是怎么造成的

7、编程题:余额表添加扣减操作,同时添加流水表,如何敲代码,代码演示

如何在代码层面不加锁的情况下进行操作?只能利用mysql自带的锁

8、算法题:奇偶链表排序

给定一个单链表,链表中所有奇数位置的结点值是单调递减的,所有偶数位置的结点值是单调递增的。请就地(也就是说空间复杂度要求为O(1))将此链表改为顺序排序。比如单链表:9->4->6->7->5->8->3,奇数位置结点值依次为 9、6、5、3逆序排列,偶数位置 4、7、8为顺序排列。

三面:

1、讨论项目

2、系统高可用如何保障?服务降级、限流有没有了解过

3、怎么从长链接生成短链接

4、算法题:从字符串中找出最长不重复子字符串长度

比如  abcdabcddd,那么最长不重复子串就是 abcd,也就是4

总结

面试靠知识储备的同时,运气也很重要。

运气体现在面试官方面和算法题方面。

算法题方面看运气能不能遇到的就是曾经刷过的题

八股文方面主要是在记住的同时要理解,很多面试官会抓住一个点深入往下问的。

面试腾讯QQ音乐的时候,面试官给了我一个建议,我个人觉得很实用,算是一个面试加分点吧

就是回答问题的时候不要自顾自的说一大段,很多面试官可能没时间或者没耐心听,最好是先回答个大概,然后跟面试官交流,问下是否需要详细展开。

最后,祝想跳槽的同学都能去想去的厂做CRUD boy。



浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报