当前位置:网站首页>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
边栏推荐
- 变量的命名规则十二条
- jmeter性能测试步骤实战教程
- Babbitt | metauniverse daily must read: the group image of Chinese Internet enterprises pouring into metauniverse: "there are only various survival desires, and there is no ambition for forward-lookin
- GET/POST/PUT/PATCH/DELETE含义
- word设置目录
- Multi attribute object detection on rare aircraft data sets: experimental process using yolov5
- TypeScript 接口属性
- js對象獲取屬性的方法(.和[]方式)
- Openjudge noi 2.1 1749: Digital Square
- The way to learn go (I) the basic introduction of go to the first HelloWorld
猜你喜欢
![When the Jericho development board is powered on, you can open the NRF app with your mobile phone [article]](/img/3e/3d5bff87995b4a9fac093a6d9f9473.png)
When the Jericho development board is powered on, you can open the NRF app with your mobile phone [article]

杰理之如若需要大包发送,需要手机端修改 MTU【篇】

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

How MySQL merges data
![[window] when the Microsoft Store is deleted locally, how to reinstall it in three steps](/img/57/ee979a7db983ad56f0df7345dbc91f.jpg)
[window] when the Microsoft Store is deleted locally, how to reinstall it in three steps

Cookie Technology & session Technology & ServletContext object

Week6 weekly report

Go learning --- use reflection to judge whether the value is valid

杰理之BLE【篇】

Raspberry pie serial port login and SSH login methods
随机推荐
Raspberry pie serial port login and SSH login methods
Jerry's general penetration test - do data transmission with app Communication [article]
Crawling exercise: Notice of crawling Henan Agricultural University
学go之路(一)go的基本介绍到第一个helloworld
杰理之蓝牙设备想要发送数据给手机,需要手机先打开 notify 通道【篇】
Twelve rules for naming variables
Go learning --- use reflection to judge whether the value is valid
Detailed explanation | detailed explanation of internal mechanism of industrial robot
QT color is converted to string and uint
Jerry's ad series MIDI function description [chapter]
js對象獲取屬性的方法(.和[]方式)
You deserve this high-value open-source third-party Netease cloud music player
leetcode704. Binary search (find an element, simple, different writing)
Bloom taxonomy
Idea console color log
TypeScript接口与泛型的使用
OpenGL ES 学习初识(1)
L'auteur est mort? Ai utilise l'art pour conquérir l'humanité
Jerry needs to modify the profile definition of GATT [chapter]
Bugku CTF daily question: do you want seeds? Blackmailed