字节后台一面凉经
部门是电商
雪花算法:
1. 介绍下雪花算法。(这个是个人项目用到的)
2. 一台机械同时生成激活码怎么保证不一致(第一次听说。。。)
3. 激活码生成后服务器怎么部署,为什么不生产直接插入到MySQL表中(我回答每次插入数据,数据库都要锁定和开锁,消耗时间,最后一次性插入)
4. MySQl插入需要上锁吗?(他这么问了后,我就觉着我上面错了,说不需要)
5. 我又自己提的或许用MQ更好(我没用过,只看过博客)
MQ
以后自己没用过的还是不要乱说了
1. 讲一下MQ的作用(解耦,削峰、异步)
2. 如果消费者消费少了怎么办?(就是说大量数据积压在mq中,消费者消费慢怎么解决)
tip:不要给自己挖坑😥
Redis
我就说了一句最近刚刚学习了redis,问了这么多,我只会数据结构。。。
1. 数据结构(5种,zset的跳表什么样子)
2. 过期策略有什么(只答了定期删除,惰性删除忘了)
3. 过期健怎么处理(我答的lfu,lru)
4. lfu的原理
5. 主从模式(答出来了整体结构)
6. 从节点怎么同步到主节点的数据?(不会)
Java
这部分都是我自己说的,(怎么扩容,1.7和1.8区别),他没问其他的
1. ArrayList
2. HashMap
MySQL
1. 索引结构(B+树聚簇和非聚簇)
2. B+树叶子节点存放什么?(主键索引和普通索引有何不同),指针的作用(不知道)
3. 存储引擎(讲了MyISAM和InnoDB的区别)
4. InnoDB怎么实现恢复功能(不知道)
5. 优化时怎样分库分表(分表根据主键id或者时间,分库不知道)
算法
3个有序数组合并一个有序数组
pis:不会再牛客上写键入,实在写不出来,要多练习了
反问:
我直到凉了,居然还有反问环节。。。
你们技术栈是什么,不用java吧?
回答是用的go,和少量的python
总结:自己的能力确实差(刚搞了半年,还是边上课(非计算机)边弄的),尤其是算法,第一次自己写输入,和leetcode完全不同,给其他的小伙伴建议,面试字节还是多准备数据库的知识吧,java基本没用(背了几天java知识点了🤣)。
😇最后给大家推荐个学习的网站吧:https://cyc2018.github.io/CS-Notes/#/