登录 白背景
  1. http状态码/header/请求方法, 哪些请求方法是幂等的
  2. https加密原理
  3. python协程原理/缺点
  4. python GIL, 为什么有GIL 还需要threading
  5. python gevent协程调度原理/缺点
  6. 设计一个文本编辑器实现插入/删除/查询
  7. 头条文章向用户推送避免重复推送的问题
  8. 工作中遇到的印象深刻的问题
  9. 两个单链表求和
  10. 两种存储引擎
  11. http的返回码
  12. mysql 索引
  13. 链表操作(在线写代码)
  14. http状态码
  15. UDP / TCP 协议
  16. 链表操作 [手写代码]
  17. 乐观锁 / 悲观锁
  18. 三次握手
  19. Socket
  20. Hbase 底层原理
  21. Map 底层原理
  22. 数据库分表 / 分库 / 集群
    22.给定一个二叉树,返回二叉树每层的最左的值。

23.手里有一副扑克牌。按照下列规则吧他堆放桌上。一,拿出最上面的一张牌,放桌上,然后把接下来的一张牌放在扑克牌的最下面。循环,直到没有手牌。现在已知桌上牌的顺序。求原手牌的顺序。
24.redis内存不足,如何解决

  1. mysql索引的使用和原理
  2. epoll和poll,select的区别
    27.实现一个有顺序的LinkedList,实现deleteAll(int val)方法删除所有值为val的节点,和save(int val)方法添加一个值为val的节点。

28.线程池的工作流程。线程的几种状态,什么情况会进入阻塞
29.JDK基础 集合 锁
30.Mysql的索引结构 聚簇索引
31限流。限流算法。令牌桶的不足
32.GC CMS,CMS的参数
33.JVM的一些排查工具jstat, jstack ,jmap
34.工作中遇到的问题如何排查
35.一排盒子,每个盒子上标了能走的最大步数,从第一个盒子开始,判断能否走到最后的盒子
36..栈,增加一个max方法;
37..自己设计hash;
38.微博限定用户每次输入最多140个字符,用户如果传字符串很长的链接,怎么办

  1. 输入一串空格分开的整数,相邻不会重复如:1 2 4 3 5,只返回其中一个峰值就可以,比如返回 4 或者 5
    峰值定义:大于相邻两个数字就是峰值;对于头尾两个数字,分别大于相邻的一个数字即算峰值

40.二叉树镜像
41.两个线程,一个只能存有数组1、2、3和另一个存有a、b、c,然后通过调度,最终结果输出1a2b3c
42..输入一个int数组,返回一个数组,其中奇数都在左边,偶数都在右边
附加条件 不使用额外的空间
43.java多线程知识点,如synchronized,reentrantLock以及两者比较
44.java线程池,submit跟execute的区别
45.stack实现一个min方法,O(1)的复杂度
46.数据库两种引擎比较
47.数据库3个字段的联合索引,在用单字段时能否命中索引
48.数据库如何建索引,和如何分库分表
49.找到一个文件里出现次数最多的的数字,文件大小远大于内存容量
50.10G文件1G内存,
51.打印重复数字
52.查找前topK

  1. 给一个数组和一个整数,输出数组中所有和为给定整数的元素下标
  2. MySQL两种存储引擎的差异;
  3. where a>1 and b>1;where a = 1; where b = 2,如何为这种条件语句建立索引;
  4. LRU的实现
  5. 介绍一个项目中遇到的问题。
  6. 一个100G的文件,内存只有8G,如何给文件排序,文件内容都是按行存储的URL
  7. a.产品设计过程中面对的挑战和难点;b、周围同事对我的评价;c、产品设计考虑的几个点
  8. .k路归并排序
    61.lru原理要非常详细的数据结果和过程结构

62.给个数组,只有重复的,求所有和为21的下标:不用n2的暴力算法,要考虑数字相同的下标,先说思路没问 题才能共享屏幕写

  1. 根据二叉树前序遍历生成avl树
  2. 编程题:string转double
  3. hashmap实现方式
  4. 数据库事务、隔离级别 其他就是聊的他的项目了
  5. out Of memory Error 跟 stack Over flow Error 的比较
    (可能单词没拼对)
  6. 数据库的隔离级别
  7. java 的 array 跟 list的比较,底层原理上的
  8. 有sql的编程题,是问每门课程都大于80分的学生名字
  9. java编程题

    a、反转一句英语的所有单词:hello world - > world hello
    b、6 7 8 9 0 1 2 3 4 5,找一个数
  10. 还有tcp,三次握手;ssl。
  11. 对称性加密跟非对称性加密的比较,使用场景
  12. 数据库事务
  13. java的多线程
  14. 涉及面好广 还有密码学的,加密算法RSA
  15. 搜索引擎倒排原理及实现方式
  16. Redis高可用方案
  17. 主键与索引的联系和区别
  18. 索引的实现方式,为什么会采用这种数据结构
  19. Redis缓存删除策略
  20. 编码实现LRU算法
  21. 统计大量访问日志(分几百M 和 几百G的场景);得出访问次数最多的前K个人 (单台机器实现)
  22. 给你一个连续素数数组 让你找出增长比第k小的位置
  23. 代码题:有序数组 A = [1, 2, 2, 3, 3, 5, 5, 5],b = 5,在A中找出b的序号的上下界,考察思路和代码熟练度
  24. 自我介绍、项目经历(会结合你的项目经历即兴问一些相关联的问题,以设计思路,框架性的思考为主)
    HTTPS原理

Oracle MySQL特性、优劣势
Redis等前沿技术栈的知识面

  1. python的装饰器

     mysql的innodb与myisam区别,索引

    . 10G文件,1G内存,找出最大的K个数,找出重复数

  2. 简单的一道系统设计题:用redis做限流

    然后是Mysql各种基础知识
    然后是HTTP状态码 502/504
    然后是一道系统设计题:微信扫码登录
  3. 成都后台笔试:
    是输入[I love byte bytedance] Ilovebytebytedance

然后判断中括号里的单词能否组成括号外的语句
中括号里的单词用空格符隔开,括号外的语句不能由单词重叠组成
如果输入这个
[I love byte bytedance] Ilovebytedance,预期结果返回true

  1. 南京大数据后台一面:redis相关的 zset结构 redis内存回收 多线程拒绝策略 数据库B树索引 treemap原理
    然后算法题一个是 给定一个数字只移动以为要求结果比原值大并且是所有方案中最小的值

还有个算法题是16进制加法

  1. 成都后台一面:. mybatis的Mapper接口映射到sql文件的实现原理

                                 mysql联合索引,实现,优点
                                 一个算法题,两数组a,b,把a数组中在b数组出现的数字,按照它在B数组中出现的顺序进行位置调整。
                               微博等热门评论,在分页到很深的时候,如何进行优化
  2. 成都后台一面
    mysql相关:

引擎innodb特性,锁,事务

mq:
kafka,rocketmq,同步机制和事务机制
编程实现的是泛型链表的添加和删除,主要是看敲代码的过程和怎样解释自己的代码吧

  1. 杭州后台;删除链表中重复的结点
    在一个排序的链表中,存在重复的结

点,请删除该链表中重复的结点,重复
的结点不保留,返回链表头指针。例
如,链表1->2->3->3->4-4->5处理后为
1->2->5
总结:比较注重CS修养、底层源码实现

  1. 上海后台:
    1.输入一个二叉树,以及指定一个层次,从右向左输出这一层的所有节点

2.设计一个LRU,尽可能的支持高并发
3.session 怎么用 cookie 实现的,session 和 cookie 的区别。
4.java 线程池是怎么工作的。
5.java bio nio 的区别
6.nio是怎么实现的
7.CMS的流程
8.CMS 的参数
9.线上的 GC 是怎么配置的?
10.redis 主从怎么实现的。

  1. 北京后台一面:介绍一下项目,链表逆序,设计一个王者的组队系统

    北京: 限流 zset redis pipieline http请求过程详解 mysql 索引 堆排序 求前k大个数
    
  2. 上海:
    1,sql什么时候不适合用索引,索引太多会有啥问题,同步io和异步io区别,coding是多个数组合并,follow up 如果数组个数非常多但是每个里面的内容比较少

      2,http和https的区别,https的实现
    
  3. 成都后台开发:第一个题是'反转二叉树',第二个题是N皇后问题(8皇后问题的扩展)
  4. 1.单链表,每k个进行一次翻转
    2.设计一个限流工具,每5s允许一个请求,多的请求丢弃

3.设计一个限流工具,在第1,6,11,16秒允许一个请求,多的丢弃
4.设计一个限流工具,在第1,6,11,16秒允许一个请求,多的排队等待

其他问题:
1.介绍一个最熟悉的项目,里面有什么亮点
2.简单工厂,抽象工厂,方法工厂的区别
3.java线程池的有哪些参数,以及意义

98.成都后台一面
1.concurrentMap实现高并发的原理
2.java nio 和 bio 的区别
3.redis 的常用数据结构、持久化方式、写入时rdb机制
4.https机制,http服务端推送
5.写一个 lru cache,get set delete 都在o(1)

99.深圳后端
python的gil锁
消息队列如何实现高吞吐量
http状态码
数据库外键的优缺点
算法给定ab两个数,a可以+2019,×5,×17,问最少经过多少步可以将a变换到b(2019.5.17是今天的日期,完全是现场临时随便编了个题)

100.

  1. 介绍下项⽬目
  2. 项⽬目中的难点是什什么,怎么解决的
  3. 算法:数组中第K⼤大的数,分析时间复杂度
  4. volatile的作⽤用
  5. 怎么保证原⼦子性
  6. 线程安全的单例例模式
  7. ThreadLocal的作⽤用,应⽤用场景是什什么
  8. HashMap和TreeMap的区别,以及各⾃自的优势
  9. Mysql的索引是怎么实现的,为什什么这么实现,优势在哪
  10. 北京后台1面:
  11. 502 504
  12. cookie,session
  13. mysql优化
  14. mysql MyISAM与innodb的区别
  15. redis分布式锁
  16. 缓存一致性
  17. mysql索引存储
  18. jvm垃圾回收算法
  19. 深圳后台一面:
  20. go string的数据结构

2 goroutine 的调度
3 数组中第k大的数

  1. 武汉后台一面:1.ORACLE 和mysql的区别
    2.工作中Spring Aop的案例

3.activemq和rabbitmq的区别
4.数据库中的索引和事务

  1. 上海后台一面:
    Go比Python的优缺点。

Go的任务调度。
Go的channel为什么可以被goroutine安全操作而不需要上锁。
网络知识:TCP的三次握手、四次挥手。
分布式锁。
数据库的分布式事务。
算法题:遍历树,求从根节点到叶子节点和为某值的路径。

  1. 北京后台一面
    一排相邻的糖果屋,不能从相邻糖果屋买糖,请问最大能买多少颗糖?

输入[1,2,3,1] 输出4

  1. 上海后台一面:
    rabbitmq的代替方式

聚集索引和飞聚集索引区别
哪些情况会用到索引
怎么排查慢查询
事务隔离级别
Tcp三次握手四次挥手
Udp
select poll epoll
算法:按层输出树的结点
Http各状态码
Session和cookie

  1. 杭州后台一面二面:
  2. ctrl c过程;
  3. 去除重复列表;
  4. 单链表求和;