Let me introduce myself. I graduated with a bachelor’s degree in mechanical Design, manufacturing and automation in 2018. I quit my job to learn Python development in October, 2019 and joined my previous company to develop Python in May, 2015.

In April, I met several companies one after another. Those who wanted to go to Dachang failed. The main reason is that the algorithm can not write it, do not know why, a scene to write the brain on the throb……

Here are some of the technical issues that come to mind. Some non-technical questions, such as how to learn and what difficulties encountered in the project, will not be listed here.

Bytedance – Backend Engineer (Side hanging)

  • Why is Redis fast

  • Redis in the zset underlying implementation, zset time complexity of various operations

  • Why is Kafka fast? How does Kafka design to ensure that messages are consumed once and only once

  • InnoDB base structure, B+ tree features, which cases do not go index,! = can not walk index. Table structure is user ID, login time, logout time, this login time and logout time is suitable for building index

  • ElasticSearch Is the process of storing a single piece of data

  • Algorithm:

    1. Find the subscript of the first occurrence of a value in a sorted array with repeated elements, time complexity required O(logn)

    2. Merge interval, Buckle 56

A bit of information – Back-end development (three times)

  • How many pieces of data can be stored in B+ tree? Why only index Pointers can be stored in non-leaf nodes of B+ tree?

  • How does InnoDB solve phantom reading

  • Why is C string not binary safe? Why is Redis string safe

  • Cache breakdown, penetration, avalanche concepts and solutions

  • Database and cache consistency

  • A distributed lock

  • Redis string is different from hash

  • Use Redis to achieve the leaderboard function, details

  • How does Kafka ensure that messages are never repeated or lost

  • Write a shell script to count the access IP addresses over a period of time, and then count the top 10 IP addresses

  • Top k problem

  • HTTPS handshake procedure

  • Java threads are different from Goroutines

  • GMP model

  • Design a high concurrency system, from what aspects to consider

  • Do you know the time limit for sorting algorithms? Is there a faster algorithm than order nlogn?

  • Simple algorithm

    1. Handwritten quicktypesetting

Tiger Securities -Python development (second interview no message, this I feel is the best answer, don’t know why……)

  • What’s the problem with writing a singleton, and how do you keep it thread safe?

  • Write a decorator, if it’s a decorator with parameters

  • B+ tree features, leaf nodes are one-way Pointers or bidirectional Pointers, write a bidirectional linked list to insert a node

  • What is the same origin policy, and how does the front and back end resolve cross-domain

  • __init__ is different from __new__

  • How does Java implement polymorphism

  • Coroutine characteristics, user-mode and kernel-mode, under what circumstances will user-mode to kernel-mode transition occur

  • Time complexity of in set(), why

  • How to ensure idempotency of interfaces

  • Stack in memory differences, Python garbage collection mechanism

  • Database optimization method, which cases do not go index, %like optimization

  • ES inverted index

  • InnoDB is different from MyISAM

  • Principles of SELECT, poll, and epoll

  • Algorithm:

    1. Buy and sell stocks. When you have stock, you can only sell it, not buy it

    2. Given a list with a dictionary as its internal element, sort the list by the value of one key in the dictionary. If the values are the same, sort the list by the value of the other key in reverse order

    3. Determine whether a tree is a binary search tree and perform test cases by yourself

Baidu – back-end research and development (no voice on three sides, no notice is hung up)

  • Mysql has been paired with master slave, steps

  • What is a transaction

  • Redis data elimination strategy

  • Redis several data structures and applications

  • Have you encountered 499 errors

  • Design a login system, design a second kill system

  • Cookies are different from sessions

  • Redis is different from Memcached

  • MongoDB differs from Elasticsearch

  • The log file contains only IP, 100 million lines, and the most frequently occurring IP is counted in limited memory

  • How to use kafka, pull, and push patterns in a project

  • Select, poll, and epoll

  • Mysql has several types of indexes. What is a clustered index

  • InnoDB and MyISAM difference, application scenarios

  • Network-related commands in Linux commands

  • Optimistic locking and pessimistic locking concepts, how to use optimistic locking in order tables

  • Implement a dict to resolve hash conflicts. What is the problem caused by a long list of linked addresses? How to solve it

  • If let you design a similar baidu search system, how would you do, as detailed as possible

  • Algorithm:

    1. Flip the word in the string, force button 151

Papaya Mobile -Python Development (2 interviews)

  • Process, thread, coroutine difference, application scenario

  • An interface to upload Excel, the internal logic is to receive Excel after parsing fields, verification into the library. Currently, error 502 is occasionally reported. How to troubleshoot and solve the problem

  • Algorithm:

    1. Two lists, find elements in A that are not in B

    2. Find the single element in a list where all elements appear twice and only one element appears once

    3. Find an element in a list that appears more than half the time (the above three questions are best to find the optimal method)

    4. Find the entry of a ring in a linked list

    5. Find the maximum depth of the binary tree