banner
lMingyul

lMingyul

记录穿过自己的万物
jike
twitter
github
bilibili

Futu Interview Experience - First Round

The experience of the interview was good, the interviewer has been guiding, but it has been a long time since I have dealt with standardized writing 🤣

  • Position: Backend Development
  • Date: 2023-05
  • Interview Duration: 1 hour 24 minutes

Java#

Basics#

  • What is the difference between String, StringBuilder, and StringBuffer?

    • What is the reason for the better performance of StringBuilder?
  • What are the List implementations used in Java development? Can you explain their characteristics?

    • What is the difference between ArrayList and LinkedList?
  • What are the Map implementations used in Java development? Can you explain their characteristics?

    • What problems can occur with HashMap in concurrent scenarios, and what methods can be used to solve them?

Concurrency#

  • In daily development, when do you need to use a thread pool?

    • Why do we use a thread pool instead of directly creating a new thread?
  • Besides using multithreading, what other approaches do you use to solve concurrency problems in programming (such as locks)?

    • Have you used the synchronized keyword in Java? Can you explain how it is generally used?
    • Can synchronized be used to modify methods? What phenomenon will occur?
  • What is the usage and difference between Sleep() and Wait() methods?

JVM Virtual Machine#

  • Are you familiar with Java Virtual Machine's garbage collection (GC)?
    • Which GC model is used in your project?

Database#

  • What are the transaction isolation levels in MySQL? Can you give an example for each level?
  • Can you introduce MySQL locks, such as gap locks?
  • Are you familiar with indexes?
    • Why is the query efficiency of primary key indexes faster than that of regular indexes?
    • What is the difference between unique indexes and primary key indexes?

Data Structures and Algorithms#

  • Please introduce quicksort and heapsort.
  • Write the inorder and preorder traversal of a binary tree using recursion.

Projects#

  • Please provide a detailed explanation of the projects you have worked on.
  • Why did you use SpringCloud's OpenFeign to call third-party services in your project?
  • How is the log calling chain implemented in your project, and how does it work in practice?
  • What are the differences between MySQL and ProgresSQL, and why did you switch the database from MySQL to ProgresSQL?
  • How do you achieve a smooth transition during the database switching migration process?
    • How do you achieve a smooth database switch without stopping the service?
  • Scenario: Calling an API where Step A is executed sequentially and Step B is executed asynchronously in the background to record the call log (which takes longer to execute). Now, if Step A is successful and returned to the user, but the service crashes during the execution of Step B and the log is not recorded, how would you handle this situation?
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.