当前位置:网站首页>Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
2022-07-06 07:24:00 【Java enthusiast】
Preface
As the baldhead of this time code , Yes Redis It must be no stranger , If even Redis It's not used , I'm sorry to go out for an interview , I'm not sure how many times I've been beaten by the interviewer . After all, now Internet companies and some start-ups have to use Redis, Like Amazon 、 Google 、 Ali 、 Tencent should use , We can see that we are proficient in Redis It's really necessary to use . For myself, I hung up on the interview with ALI last year redis On the issue of , I'm not familiar with myself redis The second is that Ali's interview question is too difficult , Just give me a few words , See if you can answer :
- redis Why key,value Of , Why not support SQL Of ?
- redis Multi thread or single thread ?( Answer the single thread, please go back , Why do you come back , Please look down )
- redis The persistence of RDB and AOF How does the restart service load ?(10 personal 9 A wrong answer )
- redis How to plan a cluster ?AKF/CAP How to implement and Design ?
- 10 Ten thousand users a year 365 How to use the login status of days redis Storage , And quickly retrieve the active users in any time window ?
- redis Of 5 Kind of Value Type you've used several , Can you give me an example ?
- 100 Million concurrent 4G data ,10 Million concurrent 400G data , How to design Redis storage ?
As excellent as I was, I was pressed hard on the ground and rubbed , In order to solve this problem, I specially got a copy from Tencent cloud's good brother, which was coded by Tencent cloud God himself “redis In depth notes ”, Let's share it for free today , There is no nonsense in the notes , The whole article looks at the essence !
Due to space limitations, only screenshots can be shown below , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free

PART1:Redis In depth notes begin
1.Redis What can you do with it ?
- from Redis What I think of in the interview
- Redis What can be done ?

2.Redis Infrastructure
- Redis install
- Redis Basic data structure
- General rules of container data structure
- About Redis Some thoughts on using

PART2:Redis Summary of the application of
1. Distributed lock
- Distributed lock
- Timeout problem
- Reentrancy

2. Delay queue
- Asynchronous message queuing ?
- What to do if the queue is empty ?
- Queue delay
- The idle connection is automatically disconnected
- Lock conflict handling
- The implementation of delay queue
- Further optimization

3. Bitmap
- Basic use
- Statistics and search
- Magic command bitfield

4.HyperLogLog
- Usage method
- pfadd This pf What does that mean? ?
- pfmerge Suitable for what field ?
- matters needing attention
- HyperLogLog Realization principle
- pf Why is the memory usage of 12k?

5. The bloon filter
- What is a bloon filter ?
- Redis Bloom filter in
- Basic use of Bloom filter
- matters needing attention
- The principle of Bloom filter
- Space occupancy estimates
- When the actual element exceeds , How the miscalculation rate will change ?
- It will not be on Redis4.0 What do I do ?
- Other applications of Blum filter

6. Simple current limiting
- How to use Redis To implement a simple current limiting strategy ?

7. Funnel restriction
- Redis-Cell
- Some thoughts

8.GeoHash
- Use the database to count people in the neighborhood
- GeoHash Algorithm
- Redis Of Geo The command basically uses

9.Scan
- scan Based on using
- Structure of dictionary
- scan traversal order
- Dictionary expansion
- Compare the traversal order before and after capacity expansion
- Progressive type rehash
- added scan Instructions
- Big Key scanning

PART3:Redis Principle
1. Threads IO Model
- Non blocking IO
- Event polling ( Multiplexing )
- Command queue
- Response queue
- Timing task

2. Communication protocol
- RESP(Redis Serialization Protocol)
- client -> Server side
- Server side -> client

3. Persistence
- Snapshot principle
- fork( Multi process )
- AOF principle
- AOF rewrite
- fsync
- Operation and maintenance
- Redis4.0 Mix persistence

Due to space limitations, only screenshots can show this information , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free
4. The Conduit
- Redis Message interaction
- Pipeline pressure test
- In depth understanding of the nature of the pipeline

5. Business
- Redis Basic use of transactions
- Atomicity
- discard( discarded )
- Optimize
- Watch

6.PubSub
- Message multicast
- PubSub
- Mode subscription
- Message structure
- PubSub shortcoming

Due to space limitations, only screenshots can be shown below , Need full version pdf My friend, please like, pay attention and support , I put the free access method in the comment area
7. Small object compression
- 32bit vs 64bit
- Small object compression storage (ziplist)
- Memory recovery mechanism
- Memory allocation algorithm

8. Master slave synchronization
- CAP principle
- Final agreement
- Master slave synchronization
- The incremental synchronization
- Snapshot synchronization
- Add slave
- Copy without disk
- Wait Instructions

PART4:Redis colony
1.Sentinel
- Lost message
- Sentinel Basic use

2.Codis
- Codis Fragmentation principle
- Different Codis How to synchronize the slot relationship between instances ?
- Capacity expansion
- Automatic equalization
- Codis The price of
- Codis The advantages of
- MGET The operation of the command
- Structural change
- Codis Embarrassment
- Codis Back office management

3.Cluster
- Slot location algorithm
- Jump
- transfer
- Fault tolerance
- The network jitter
- Maybe offline (PFAIL-Possibly Fail) And confirm offline (Fail)
- Cluster Basic use
- Slot migration perception
- Cluster change awareness

PART5:Redis expand
1.Stream
- news ID
- The message content
- Additions and deletions
- Independent consumption
- Create a consumption group
- consumption
- Stream What to do if there is too much news ?
- If the news is forgotten ACK What will happen ?
- PEL How to avoid message loss ?
- Stream High availability
- Partition Partition

2.Info Instructions
- Redis How many instructions are executed per second ?
- Redis How many clients are connected ?
- Redisn How much memory is used ?
- How large is the copy backlog cache ?

Due to space limitations, only screenshots can show this information , Need full version pdf My friend, please like, pay attention and support , Follow me and send a private message “redis” You can get this information for free
3. Let's talk about distributed locks
- Redlock Algorithm
- Redlock Use scenarios

4. Expiration strategy
- overdue key aggregate
- Timing scan strategy
- Expiration policy of slave Library

5.LRU
- LRU Algorithm
- The approximate LRU Algorithm

6. Lazy delete
- Redis Why lazy delete (lazy free)?
- flush
- Asynchronous queues
- AOF Sync Very slow, too
- More asynchronous delete points

7. Use... Gracefully Jedis
- retry

8. Protect Redis
- Command security
- Port security
- Lua Script security
- SSL agent

9.Redis Secure communications
- spiped principle
- spiped Getting started

PART6: Source code
1. Explore the internal structure of strings
- embstr vs raw
- Expansion strategy

2. Explore the inside of the dictionary
- dict internal structure
- Progressive type rehash
- Lookup process
- hash function
- hash attack
- Capacity expansion condition
- Reduction conditions
- set Structure

3. Explore the inside of the compressed list
- Add elements
- update cascade
- IntSet Set of small integers

4. Explore the quick list inside
- Every ziplist How many elements are there ?
- Compression depth

5. Explore the internal structure of the jump list
- The basic structure
- Lookup process
- Random number of layers
- Insertion process
- Delete process
- The update process
- If score It's all the same ?
- How is the element ranking calculated ?

6. Explore the inside of the compact list
- update cascade
- replace ziplist

summary
Last , What I want to say is , Learning is not difficult , And it's about persistence , Especially after we got involved in the work , It's even harder to keep learning . But for programmers , Learning is the foundation of a career , If you give up learning , It's a matter of time before we are eliminated by the market . therefore , Learning more new knowledge is a bigger investment for yourself .
above , To this end .
Due to space limitations, only part of the content can be displayed. If you need this information, please praise, pay attention and support , Follow me and send a private message “redis” You can get this information for free
边栏推荐
- 数据仓库建设思维导图
- [MySQL learning notes 29] trigger
- OpenGL ES 学习初识(1)
- Simple and understandable high-precision addition in C language
- word删除括号里内容
- Raspberry pie serial port login and SSH login methods
- Jerry needs to modify the profile definition of GATT [chapter]
- 树莓派3B更新vim
- If Jerry needs to send a large package, he needs to modify the MTU on the mobile terminal [article]
- JDBC学习笔记
猜你喜欢

Idea console color log

Fundamentals of C language 9: Functions

First knowledge of OpenGL es learning (1)

杰理之开发板上电开机,就可以手机打开 NRF 的 APP【篇】

【线上问题处理】因代码造成mysql表死锁的问题,如何杀掉对应的进程

SSM learning

How Navicat imports MySQL scripts

NiO programming introduction

杰理之BLE【篇】

C - Inheritance - polymorphism - virtual function member (lower)
随机推荐
【mysql学习笔记30】锁(非教程)
First knowledge of OpenGL es learning (1)
[JDBC] quick start tutorial
Typescript void base type
Cookie Technology & session Technology & ServletContext object
navicat如何导入MySQL脚本
OpenJudge NOI 2.1 1661:Bomb Game
Is software testing outsourcing going or not? Three years' real outsourcing experience tells you
word删除括号里内容
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
配置树莓派接入网络
word中把帶有某個符號的行全部選中,更改為標題
C - Inheritance - hidden method
NiO programming introduction
Wechat official account infinite callback authorization system source code, launched in the whole network
chrome查看页面fps
Internal and external troubles of "boring ape" bayc
How to configure GUI guide development environment
leetcode841. Keys and rooms (medium)
TypeScript 接口属性