当前位置:网站首页>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
边栏推荐
- OpenJudge NOI 2.1 1661:Bomb Game
- Thought map of data warehouse construction
- The first Baidu push plug-in of dream weaving fully automatic collection Optimization SEO collection module
- How Navicat imports MySQL scripts
- Ble of Jerry [chapter]
- Leetcode 78: subset
- Cookie技术&Session技术&ServletContext对象
- L'auteur est mort? Ai utilise l'art pour conquérir l'humanité
- Bloom taxonomy
- GET/POST/PUT/PATCH/DELETE含义
猜你喜欢

How are the open source Netease cloud music API projects implemented?

navicat如何导入MySQL脚本

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

Establishment and operation of cloud platform open source project environment

Cookie技术&Session技术&ServletContext对象

杰理之蓝牙设备想要发送数据给手机,需要手机先打开 notify 通道【篇】

Configure raspberry pie access network
![If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]](/img/d6/92ad1c6f84415de6ab0dfd16cd6073.png)
If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]

Oracle database 11gr2 uses TDE transparent data encryption to report an error ora28353. If you run to close the wallet, you will report an error ora28365. If you run to open the wallet, you will repor

Path analysis model
随机推荐
Bit operation XOR
Path analysis model
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
Ble of Jerry [chapter]
word中把帶有某個符號的行全部選中,更改為標題
Project GFS data download
Ble of Jerry [chapter]
Get/post/put/patch/delete meaning
How to configure GUI guide development environment
Internal and external troubles of "boring ape" bayc
OpenJudge NOI 2.1 1749:数字方格
数据仓库建设思维导图
树莓派串口登录与SSH登录方法
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
Solution to the problem of breakthrough in OWASP juice shop shooting range
leetcode704. Binary search (find an element, simple, different writing)
qt颜色与字符串、uint相互转换
Typescript indexable type
杰理之BLE【篇】
Relevant introduction of clip image