面试真题
1.字节跳动 后端
自我介绍
1.你这个项目是如何实现非阻塞的
那调用完了怎么返回
2.你寒假营做的这个极简版tiktok,主要实现了哪些功能
3.如果以你现在的知识让你设计这个评论区系统你会怎么设计
4.评论这个实例需要包含用户的所有信息的字段吗
5.读取用户头像的时候是从缓存预加载吗
6. redis如何保证数据一致性
7.分布式服务中又是如何保证数据一致的
8.你说raft,稍微介绍一下raft算法吧
9.raft是强一致的吗
10.leader跟用户通信的时候,需要将通信的数据全都分发给candidate吗
11.b+树比b树好在哪
12.mysql隔离级别
13.讲解一下分布式锁
14.go中对已经lock()的资源再lock()或已经解锁再解锁会怎么样
15.了解协程吗,它比线程好在哪
16.讲一下go中协程的调度机制
17.了解gin框架吗?
18.讲一下tcp的拥塞控制
19.tcp和udp的区别
20.进程间通信有哪些方式
21.为什么要有虚拟地址
22.意向城市在哪
编程题:
1.O(n)时间复杂度找出字符串中最长没有重复字符的子串
2.设计一个系统,将url转换为0-9, a-z, A-Z的短字符,就是把域名后面的/index.html/pageindex=1转换成/Gx3dA这种(答思路,没让敲代码)
3.怎么避免哈希冲突
2.百度提前批 研发工程师
自我介绍
1.什么是进程,什么是线程?
2.进程和线程是不是共享内存的?
3.进程和进程之间如果想共享数据的话,可以用什么方法?
4.我现在想在浏览器上输入一个URL,从输入URL到在浏览器上渲染出画面,它的一个整体的工作流程是什么样的?
5.DNS解析除了在本地缓存,hosts和运营商,还可以在哪解析域名?
6.我现在百度有一个IP换成新的了,在运营商只有一个我的旧的IP,问现在一个用户访问原来的旧IP访问不到,我可以采用什么方案来解决?
7.Linux查看剩余内存命令
8.Linux grep命令相关
9.Golang指针数组for each赋值会发生什么
10.Golang垃圾回收机制
11.Golang两个函数调用同一个指针数组内存地址一样吗
编程题:
用O(n)的时间复杂度找出数组第k大的数
3.腾讯云 后端工程师
自我介绍
1.聊一聊实习经历,遇到最难解决的问题是什么?如何解决的?
2.简单说说线程池的各个核心参数含义,创建线程池有哪几种方式?线程池提交任务的流程
3.简单说说HTTP和HTTPS的区别
4.HTTPS的加密过程是怎么样的?
5.如果TCP连接已经建立了,但是客户端突然出现故障了怎么办?
6.DNS是单点式工作还是集群式工作的?为什么?
7.简单说说Redis集群的主从复制过程,如果网络出现异常在主从复制过程中复制停止了会怎么样?
8.IO多路复用中,select和epoll的区别
9.简单说说缓存穿透问题是怎么产生的?布隆过滤器底层是怎么解决缓存穿透问题的?
10.假设现在有2亿个整数,你目前的内存空间已经无法存下它们,请你设计一个高效方案将这2亿个整数中重复的数字去除
11.如果给你50亿个不重复的乱序的数字,然后再任意给你一个数字,怎么样快速判断给你的这个数字是否在那50亿个数字当中?
意向城市
编程题:
一道简单的动态规划,题目忘了,此外还有多家中小厂的面试,但都较为简单,基本就是一些基础知识的问答,就不过多占用版面了。