快手实习一面

# 3.31 快手

## 一面(11:00-12;00)

- 自我介绍

- 项目拷打

  - 项目有什么难点,登录是怎么实现的
  - token 和 session 怎么存储

- MySQL

  - - 数据库都有什么样的锁

      

  - Redis

    - 如何防止用户重复登录,重复发送验证码请求
    - Redis支持多线程么,为什么是单线程的,不是应该多线程的性能更好吗
    - 既然是单线程的,还需要在写操作的时候加锁么
    - 假如有100个库存,秒杀,有10000个请求去抢库存,如何用 redis 实现
    - lua脚本如何实现,是要进行10000次么
    - Redis 并发请求如何保证数据安全
    - Redis 是单线程单进程的,那多线程的时候不会有数据错误么

  - mysql

    - 活锁死锁区别
    - 乐观锁悲观锁

  - 计算机网络

    - TCP建立连接的过程
    - 为什么不是两次握手
    - TCP建立连接那么复杂,有什么额外的好处
    - 说一下拥塞控制

  - JUC

    - 什么要使用线程池,出了降低资源消耗还有什么优点
    - 线程池有哪些核心参数

  - JVM

    - 内存模型是什么样的
    - 什么变量存储在堆,什么变量存储在栈
    - static 定义的常量放在哪里
    - 知不知道内存可见性(我说 volatile,他说算了)

算法题:

- - 手写归并排序
  - 判断是否是回文字符串
  - 旋转链表

- 反问环节:

  - 哪些地方需要加强:多看面经,多看一些场景题,不要死记硬背
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务