Interview Summary

Posted by FutureTechx on March 20, 2021

2021年春季面试总结

时间:3/22-3/31(大概两周)

地点:上海

公司:腾讯、驻云、得物、达观、爱数、声网、蜻蜓、比心、Ucloud、特斯拉、西井等

凭记忆还记得有以下题目: go语言相关:

  • GMP模型
  • Chan的底层实现 https://i6448038.github.io/2019/04/11/go-channel/
  • Map的底层实现(腾讯电面)
  • 内存逃逸
  • 操作chan,已经关闭的的 chan 进行读写,会怎么样
  • defer
  • new 和make的区别
  • 内存GC工作原理
  • panic和recover
  • map如何顺序读取
  • select可以用于什么
  • go中内存泄露的发现与排查(当go服务部署到线上了,发现有内存泄露,该怎么处理)
  • 什么是协程,协程,线程,进程的区别。
  • 空 struct{} 的用途
  • Channel是同步的还是异步的.
  • go defer(for defer)死循环defer会有问题吗

Mysql 和 Redis

  • 缓存
  • 性能优化
  • 分库如何保持数据的一致性
  • MySQL存储引擎MyISAM与InnoDB区别
  • 索引基本原理和索引底层实现
  • 什么是最左前缀原则?什么是最左匹配原则
  • 事务的四大特性
  • 事务的隔离级别
  • Mysql 锁
  • 乐观锁和悲观锁
  • 大表数据查询,怎么优化
  • 关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
  • Redis常见的数据结构和使用场景
  • Redis为什么是单线程的
  • Redis持久化
  • Redis的过期键的删除策略
  • Redis的集群
  • Redis 缓存穿透和雪崩
  • 如何保证缓存与数据库双写时的数据一致性?
  • Redis 一个字符串类型的值能存储最大容量是多少?

网络编程

  • TCP和UDP
  • TCP的三次握手和四次挥手,为什么需要三次和四次
  • TCP粘包问题
  • http2的特点是什么,与http1.1的对比。
  • 如何实现长连接
  • time-wait的作用
  • TCP 有哪些状态?
  • TCP 的 CLOSE_WAIT 状态是什么?
  • HTTPS 和 HTTP 有什么区别?
  • 接口都是幂等的吗?有哪些不是幂等的,举一个例子
  • 字节序网络序大小端问题
  • ping在网络中的哪一层以及原理

分布式

  • 微服务理念
  • 服务注册与发现
  • 配置中心如何保证一致性
  • 如何保证服务宕机造成的分布式服务节点处理问题?
  • 负载均衡

Docker 和 K8s

  • 什么是docker?和虚拟机的区别
  • docker 的原理
  • 如何监控生产中的Docker?
  • Docker容器有几种状态?
  • Dockerfile 的多级构建
  • Grpc的原理

数据结构

  • 常见的数据结构以及时间复杂度
  • 排序算法
  • 单链表翻转
  • 大文件排序

前端和python

  • 对于Vue 的MVVM的理解?
  • Vue实现数据双向绑定的原理
  • python 装饰器
  • python 压力测试

其他:

  • 自我介绍
  • 项目中遇到的问题怎么解决的
  • 自己做过的最有挑战性的一件事
  • 为什么要离职