22日常实习面试记录

最后去快手了



字节跳动 后端开发实习生-新业务 一面

  1. 算法
    题目描述
    给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
    有效字符串需满足:
    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。

  2. SQL
    题目描述
    table student
    name class score
    1查找每个班级中分数>80分的学生的平均分
    2取排在前三(按平均分排序)的班级和分数

  3. 事务隔离级别

  4. 可序列化用在什么场景中

  5. 可重复读怎么实现的,MVCC

  6. 最佳左前缀

  7. 索引失效的情况

  8. 模糊查询是否能用索引?like ”%A%B”能使用吗?”ABC%” ?想在模糊匹配用索引应该怎么写

  9. B+树和B树的区别

  10. 什么时候选择Hash索引、B+树索引

  11. Redis数据类型

  12. Hash如何扩容,如何解决哈希冲突,底层数据结构?什么情况下采用ziplist/hashtable?

  13. 项目中Redis的String指定了哪种序列化方式,还是以二进制方式存入的?有启动RedisClient查看存储的数据结构吗(字符串长什么样)

  14. RBAC是自己独立实现的吗

  15. 授权部分是怎么做的,如何判断用户拥有某权限

  16. 用Spring AOP了吗

  17. SpringBoot依赖注入的注解,依赖注入有哪些方式

  18. 静态属性如何注入?@Value注解在哪?和其它几种区别是什么

  19. @Resource 和 @Autowired 使用有什么区别

  20. Bean的名字不是默认,能用@Autowired吗,要怎么办


TCL 鸿鹄实验室 一面

  1. 单点登录是怎么实现的

  2. token过期是怎么做的

  3. MySQL和MongoDB的区别

  4. 有压测吗

  5. 重载和重写

  6. 静态代理和动态代理的区别

  7. Java8新特性

  8. String可以被继承吗,字符串相加的底层实现,StringBuilder和StringBuffer

  9. 2*8怎么计算比较高效

  10. HashMap什么时候出现红黑树,HashMap的下标是怎么计算的

  11. 线程池的参数,执行流程,线程池状态,拒绝策略,如何合理设置线程池大小

  12. 什么是线程安全,线程不安全

  13. volatile的作用,禁止指令重排是怎么实现的

  14. ThreadLocal的内存泄露问题

  15. JVM运行时内存

  16. GC Roots,GC算法

  17. 记录bin log的方式有哪几种

  18. 表级锁和行级锁,什么时候用行级锁,索引不命中使用行级锁吗

  19. B+树

  20. 索引下推的作用

  21. Redis持久化

  22. Rabbitmq交换机类型,仲裁队列和镜像队列

  23. CAP


字节跳动 飞书后端 一面

  1. 单点登录如何实现

  2. JWT

  3. OAuth2 密码模式、授权码模式

  4. ConcurrentHashMap 扩容机制

  5. Spring 设计模式

  6. 双亲委派机制

  7. 线程池原理

  8. Redis String 如何实现

  9. ZSet 数据结构,什么时候压缩表升级为跳表

  10. Redis 使用什么I/O模型,select、poll、epoll 的区别,select 的数量限制是多少,是否可以修改

  11. 用户态和内核态,select 和 poll 的轮询操作是在哪个空间进行的

  12. Redis 集群的方式,哨兵模式,cluster 在服务器扩容时如何 rehash,哈希槽如何计算

  13. RabbitMQ 的 binding key 和 routing key,key 的匹配机制(如何路由到队列里)

  14. 交换机的模式

  15. RabbitMQ 应用场景,不同交换机的应用场景

  16. RabbitMQ 如何保证消息幂等

  17. 场景题:用户登录,连续输入密码错误超过五次禁止登录如何实现,用哪种 Redis 数据结构(最后面试官说 ZSet,key 是用户名,value 记录一系列的登录时间),如果是恶意攻击应该怎么办

  18. 算法题:循环依赖


快手 Java信息安全 一面

  1. JVM垃圾回收器

  2. MySQL了解哪些原理

  3. MVCC如何实现

  4. InnoDB如何解决幻读

  5. InnoDB如何保证事务的原子性

  6. Redis Zset

  7. Redis事务,能保证原子性吗,怎么保证持久性

  8. Redis持久化,AOF Rewrite怎么实现的

  9. 用户登录模块,Redis无法使用时的降级方案

  10. 操作系统作业调度有哪些算法

  11. 算法1:合并两个单向有序链表

  12. 算法2:BST转双向有序链表

补充:项目中有没有为高并发做考虑


快手 Java信息安全 二面

  1. JWT

  2. 修改密码怎么办

  3. 微服务的理解

  4. SpringCloud组件、功能

  5. RBAC

  6. 算法:最长回文子串


快手 Java信息安全 三面

  1. DNS和ARP协议

  2. DNS的递归查询和迭代查询过程

  3. DNS为什么有时用TCP,有时用UDP

  4. MyISAM和InnoDB的区别

  5. 用过什么机器学习算法和网络?

  6. 项目中选用MySQL、MongoDB、Redis的原因

  7. 为什么采用微服务


比特大陆 软件开发实习生 一面

  1. Java集合

  2. 多线程相关,volatile

  3. 线程池参数

  4. JVM内存

  5. JVM垃圾回收器、内存分代

  6. Redis基本数据结构,Zset底层实现

  7. MySQL最佳左前缀

  8. 快速排序原理

  9. Linux常用命令


比特大陆 软件开发实习生 二面

  1. 单点登录

  2. 重新赋予权限怎么处理

  3. 微服务如何划分

  4. SQL如何优化

  5. Spring循环依赖

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值