Framework of Thinking - Explaining

Here is some note about the way you need to think, guidance for clear communication.

1. Thinking Framework

1.1. Talk to yourself

  • When talk to yourself, you can use “Ti” to analyze and dive deep analyze more and more ?

  • Solution: You can ask questions from A, to B, to C,… wandering around anything as long as you satisfy to understand everything deeply.

=> The reason you want is to understand knowledge, and inteligence and ability are your pivot.

1.2. Talk to others

  • Remember: Other people have different learning curve, they only understand your idea by their learning rate

=> So if they are consume information slower than your delivery speed, they do not understand you. And of course, if they are interviewer or higher title people, it is likely difficult for them to acknowledge that they are wrong or they do not more inteligence than you => they judge you can not explain idea clearly.

  • Solution: You must follow a “template” when talking with people, adjust the template with different people.

2. Apply for answering questions

2.1. Dive deep

  1. Result

  2. Why

  3. Worst case

  4. Alernative flow

2.2. Storytelling - STAR Method

  1. Situation

  2. Task

  3. Action

  4. Result

2.3. Small talk

  • Find someone that match with your personality => FIND COMMON THINGS.

  • Dive deep into the common story => Make them MAKE DECISION BY THEIR OWN.

  • More action when interact with others, not only think.

3. Template for Coding Interview

3.1. Template

  1. Understand the problem that you solved: Do not need to find solution is normal, used more time to think => let interviewer to interact to fix your misunderstandings.

  2. Ask clarify questions: ask for some question about contrains, duplicates, empty case, negative number, time and space complexity expected.

  3. Work through example: Random as much as example possible => interviewer can correct your mistakes.

  4. Brainstorm 2-3 solutions: naive solutions, optimized solution, compare the time and space complexity for considering optimization => let interviewer to interact to fix your misunderstandings.

  5. Implement solution: now to implement this => Code clean, optimized, syntactically correct solution => Real and runnable, correct code.

  6. Test your code: walk-through to the code to dry run, and debug testcases in step 3.

Watch the video

3.3. Apply AI to brainstorm and reinforce each steps

Watch the video

4. Template for System Design

4.1. Template

Step 1: Define the problems

  • Functional requirements, non-functional requirements => Draw high-level design based on this.

  • Constrains: Performance, Availability, Scalability => Choose 1 most item that matter most.

=> Aim: Clarify scope of the system.

Step 2: Quick calculation

  • Storage capacity

  • Bandwidth requirements

=> Aim: Choose the right components and scaling ability.

Step 3: High-level design (functional requirements)

  • Design high-level design for each functional requirement.

  • Define APIs to client communicate with server.

  • Design database table to store the entity.

Step 4: Deep dive (non-functional requirements)

  • Dive deep some optimize function: caching, CDN, kafka,…

  • Answer for non-functional requirements.

Step 5: Identify bottlenecks and scaling opportunities.

  • Handle bottlenecks.

  • Handle the failure cases.

  • Enhance the scalability opportunities.

Step 6: Wrap up

  • Wrap up and future opportunities.

5. Template for Behaviour Interview

Link: https://anduckhmt146.site/leadership-amazon/

6. Template for Computer Science Interview

  1. Application.

  2. OS.

  3. Network.

7. Template for follow-up questions

  1. What is theory, e.g. HTTP and HTTPS. ?

  2. What is it used in practice ?

  3. Have you used in your work ?

November 6, 2025