当前位置:网站首页>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
边栏推荐
- [online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
- After the hot update of uniapp, "mismatched versions may cause application exceptions" causes and Solutions
- Internal and external troubles of "boring ape" bayc
- 剪映的相关介绍
- The way to learn go (II) basic types, variables and constants
- 智能终端设备加密防护的意义和措施
- 【MySQL学习笔记32】mvcc
- Cookie Technology & session Technology & ServletContext object
- GET/POST/PUT/PATCH/DELETE含义
- Leetcode 78: subset
猜你喜欢

Lesson 12 study notes 2022.02.11

qt颜色与字符串、uint相互转换

Typescript interface and the use of generics

【MySQL学习笔记32】mvcc

杰理之AD 系列 MIDI 功能说明【篇】

软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历

QT color is converted to string and uint

Wechat official account infinite callback authorization system source code, launched in the whole network

杰理之BLE【篇】

Solution to the problem of breakthrough in OWASP juice shop shooting range
随机推荐
TypeScript接口与泛型的使用
杰理之BLE【篇】
剪映的相关介绍
If Jerry needs to send a large package, he needs to modify the MTU on the mobile terminal [article]
Uncaught TypeError: Cannot red propertites of undefined(reading ‘beforeEach‘)解决方案
jmeter性能测试步骤实战教程
[MySQL learning notes 30] lock (non tutorial)
位运算异或
Résumé de la structure du modèle synthétisable
可变参数重载时的内存错误
Typescript indexable type
Seriously recommend several machine learning official account
Jerry's ad series MIDI function description [chapter]
NiO programming introduction
Redis builds clusters
qt颜色与字符串、uint相互转换
Solution to the problem of breakthrough in OWASP juice shop shooting range
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
How to configure GUI guide development environment
word中把带有某个符号的行全部选中,更改为标题