非科班,经历了无数场秋招,现将面试字节的题目记录如下:一面:1.IM系统用户登录怎么实现的?2.登录状态是怎么保存的?session是怎么获取的?sessionid是怎么识别的?整个流程是什么样的?有没有考虑分布式session?3.Redis的数据类型4.Redis数据类型的底层数据结构5.三次握手、四次挥手6.Redis持久化机制7.MySQL的InnoDB索引数据结构8.哪些SQL的关键字会让索引失效9.队列、栈、数组、链表10.算法题:leetcode 92题二面:1.讲讲爬虫的构成2.爬虫抓到的数据不清洗吗?不去重吗?3.对爬虫有什么更多的了解吗?4.Linux进程间通信机制5.进程和线程的区别6.线程私有的数据有哪些?(不是Java线程)7.讲一下堆排序,每次调整的时间复杂度?堆排序是稳定的吗?(一开始说错了,应该是不稳定的,后面面试官问稳定的定义是什么)8.哈希表的原理,怎么减小哈希表的冲突,怎么保证哈希表的并行读写9.Kafka用过吗?说说Kafka的原理?怎么保证Kafka的高可用?Kafka怎么保证消息有序?10.项目里的set实现点赞,zset实现关注,为什么?11.zset底层实现?说一下跳表?节点的高度是多少?怎么决定节点的高度?12.https了解吗?13.中间人攻击知道吗?怎么做https的抓包?https怎么篡改?14.虚拟地址到物理地址的映射过程15.算法题:给一个数组,建一颗最小高度的二叉树(递归和非递归)三面:自我介绍项目volatile原理和作用什么是指令重排序,举个例子AQS原理JVM内存模型类加载过程双亲委派机制介绍代理模式redis数据结构HTTP状态码,headerMVCC原理算法:买股票无限次买股票只买一次买股票有手续费买股票最多买两次四面:1.介绍一下做过的项目,哪些挑战性比较大,比较有难度的2.IM项目怎么用Netty的,为什么要用Netty,长连接交互是怎样的3.消息怎么存储,怎么发送,怎么知道消息已读和未读的4.读了5条消息、又来5条消息,你是怎么去更新的,你的消息是幂等的吗?5.项目里怎么用ES的,ES怎么支持搜索的6.技术论坛网站的评论是怎么存储的7.查询评论是在DB里扫表查询吗?怎么展示所有的评论?性能如何?想要查询更快可以做哪些优化?8.结合缓存和DB的时候会出现哪些问题?要怎么解决?9.快排了解吗?介绍一下快排?时间复杂度是多少?为什么会退化成O(n^2)?单链表可以做快排吗?快排最核心的逻辑是什么?写一下单链表快排本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~********如果访问不了Github,可以访问****。****
点赞 11
评论 4
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务