<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Interview on sbgrl.me</title><link>https://sbgrl.me/tags/interview/</link><description>Recent content in Interview on sbgrl.me</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>sylvain.bougerel@gmail.com (Sylvain Bougerel)</managingEditor><webMaster>sylvain.bougerel@gmail.com (Sylvain Bougerel)</webMaster><copyright>© 2026 Sylvain Bougerel</copyright><lastBuildDate>Fri, 08 Aug 2025 23:35:00 +0800</lastBuildDate><atom:link href="https://sbgrl.me/tags/interview/index.xml" rel="self" type="application/rss+xml"/><item><title>Tips for technical interviews</title><link>https://sbgrl.me/posts/tips-for-technical-interviews/</link><pubDate>Fri, 08 Aug 2025 23:35:00 +0800</pubDate><author>sylvain.bougerel@gmail.com (Sylvain Bougerel)</author><guid>https://sbgrl.me/posts/tips-for-technical-interviews/</guid><description>&lt;p&gt;Since I am currently on the lookout for a position, I thought I&amp;rsquo;d share some tips that apply to system design or technical interviews — except the coding interview — that could help you prepare as well.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Growth mindset
 &lt;div id="growth-mindset" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#growth-mindset" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s the interviewer&amp;rsquo;s job to throw curveballs. Your role is not to dodge them. Always work with new constraints; often, when doing so, you find new ways to look at your problem. It&amp;rsquo;s okay to not know something, so long as you demonstrate how you&amp;rsquo;d move forward:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;I don&amp;rsquo;t know this part, but here is how I can find out or tackle it&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Focus on the technical
 &lt;div id="focus-on-the-technical" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#focus-on-the-technical" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;It may sound obvious, but if asked a question about your experience or if asked to provide more details about a line on your resume, focus on the technical. Mentioning your stint as a manager or the fact that you took a sabbatical break to travel the world may be okay if kept to an absolute minimum (as mentioned here), but don&amp;rsquo;t expend your energy on this; this is not the signal the interviewer is usually looking for.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Balance breadth and depth
 &lt;div id="balance-breadth-and-depth" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#balance-breadth-and-depth" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The interviewer wants to find if you have the breadth and depth of knowledge that fit the role. You must play both angles: explore in breadth whenever you need to outline your solution, but don&amp;rsquo;t miss an opportunity to explore in depth when answering a question. If you answer a specific question with hand-wavy statements, you may not get that opportunity back: you rarely come back twice on the same question in an interview.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Research!
 &lt;div id="research" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#research" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;You know what never happened in 20 years of interviewing: company working in domain A asking a question about domain B. Every single technical interview will center around something the company &lt;em&gt;already does or will do very soon&lt;/em&gt;. Therefore, those who do extensive research about the company&amp;rsquo;s domain stand to have an edge: you understand hints and questions better, it becomes easier to speak the same language as the interviewer.&lt;/p&gt;
&lt;p&gt;Things you should research before a technical interview:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blogs or engineering articles by the company or its competitors,&lt;/li&gt;
&lt;li&gt;Discover as much about the company&amp;rsquo;s systems and technologies in use as you do about its process, regulations, and other domain constraints,&lt;/li&gt;
&lt;li&gt;Map the organization, how it relates to its customer base,&lt;/li&gt;
&lt;li&gt;Understand its engineering culture,&lt;/li&gt;
&lt;li&gt;Harness AI to be a mock interviewer to train on related topics from the information you gathered.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Quantitative over qualitative
 &lt;div id="quantitative-over-qualitative" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#quantitative-over-qualitative" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;If you can quantify something, it&amp;rsquo;s better than qualifying it. But if you can&amp;rsquo;t quantify it, then qualifying it is better than nothing. For example, prefer:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;DynamoDB can handle 1M QPS (read and write) compared to MySQL 10K QPS (reads and writes)&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Over:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;DynamoDB can handle much larger QPS (read and write) than MySQL.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Numbers are king, and help you justify your design decisions. I included a data capacity ladder at the end of the article.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Divide and conquer generalities
 &lt;div id="divide-and-conquer-generalities" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#divide-and-conquer-generalities" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;If the interviewer asks any question, you should evaluate whether to break it down first before narrowing and going in depth on some topics. An example of a vague question could be:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;I see that you have experience with AWS EC2, could you describe what it is?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;EC2 is one of the most complex AWS services, one that could take the entire interview to answer. Typically, the answer calls for a breakdown after a short intro:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;EC2 is an AWS service that manages virtual machines running on the cloud. EC2 is made up of many subsystems required to run VMs: the nodes themselves (instances), the block storage (EBS), the images (AMIs), the network security groups and network interfaces (ENIs). It provides autoscaling capabilities through Auto Scaling Groups. Instances can be provisioned on-demand, spot, or reserved. Would you like me to zoom in on any particular subsystem?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;This is a top-level breakdown of EC2, only 1 layer deep. It&amp;rsquo;s not in-depth on any system but gives enough insights to the interviewer that you are comfortable with the topic. That last hook gives pause and allows the interviewer to decide how it wants to spend its time.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Structure of the system design interview
 &lt;div id="structure-of-the-system-design-interview" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#structure-of-the-system-design-interview" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;For system design interviews specifically, you want to follow a structured plan and a design methodology. I recommend using the &lt;a href="https://c4model.com" target="_blank" rel="noreferrer"&gt;C4 model&lt;/a&gt; as a design methodology because it is hierarchical and feels natural. Usually, the plan is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify: make sure you understand the focus of the exercise. You don&amp;rsquo;t want to dwell on sub-components that the interviewer does not care about. At this stage you should have an understanding of the domain and you should be able to draw your system &lt;a href="https://c4model.com/diagrams/system-context" target="_blank" rel="noreferrer"&gt;context&lt;/a&gt;. Ensure that you do not miss any &amp;ldquo;meaty&amp;rdquo; parts of your system.&lt;/li&gt;
&lt;li&gt;Dimension: pin down the spatial scope (e.g. world-wide vs city?), temporal scope, and the quantity of data exchanged and stored in each context. At this stage, you should have a rough understanding of the orders of magnitude for every dimension. This will drive the justifications of your design.&lt;/li&gt;
&lt;li&gt;Overview: break each system context into its constituent &lt;a href="https://c4model.com/diagrams/container" target="_blank" rel="noreferrer"&gt;containers&lt;/a&gt;. This is where you describe your approach to the interviewer. You should label the flow, the main functions and give a brief description of how each container satisfies the constraints of the problem, e.g. how the system scales to meet its demand.&lt;/li&gt;
&lt;li&gt;Deep-dive: give the interviewer the opportunity to ask specific questions and propose to zoom in on some particular &lt;a href="https://c4model.com/diagrams/component" target="_blank" rel="noreferrer"&gt;component&lt;/a&gt; of your design. It&amp;rsquo;s a good time to discuss protocols, define APIs and describe in detail how your design can solve a specific problem.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a 45-minute interview, try to keep the Clarify and Dimension sections under 15 minutes total. You want to spend most of your time in Overview and Deep-dive. Finally, if it helps (it does for me) restate the objective of what you are trying to demonstrate at each hierarchy.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Practice
 &lt;div id="practice" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#practice" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Nothing replaces practice, no matter how confident you are in your skills; being able to demonstrate that confidence in a short interview context requires practice.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Start with your CV items,&lt;/li&gt;
&lt;li&gt;Identify the technical questions based on the keywords or claims in your CV,&lt;/li&gt;
&lt;li&gt;Write down your narratives,&lt;/li&gt;
&lt;li&gt;Practice answering these questions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class="relative group"&gt;Remember to smile
 &lt;div id="remember-to-smile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#remember-to-smile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;An interview is a stressful setting. But all things being equal, candidates who came across best get the gig.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Sometimes, it&amp;rsquo;s better to ask
 &lt;div id="sometimes-it-s-better-to-ask" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sometimes-it-s-better-to-ask" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Most interviewers prefer to be engaged in an interview. I certainly do, when I interview. If you feel out of your depth on a particular task or question, don&amp;rsquo;t hesitate to ask for guidance. The interviewer will generally give you the clues needed so you can move forward. It&amp;rsquo;s better to show humility in such a situation than to speak incorrectly about something you do not know or understand well, or — worse — leave no doubt about your ignorance of the subject.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Get past your impostor syndrome
 &lt;div id="get-past-your-impostor-syndrome" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#get-past-your-impostor-syndrome" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The interview is not the place to question your (lack of) knowledge constantly. The biggest disservice you can do to yourself is selling yourself short. Do not provide information about the limits of your expertise, as that could further be misinterpreted. It is already difficult enough to convince the interviewer that you know enough in a particular area, in such a short span of time. Give yourself a break and a bit of confidence.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Data transfer ladder
 &lt;div id="data-transfer-ladder" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#data-transfer-ladder" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Some illustrative operations or requests per second to memorize when discussing distributed systems:&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://sbgrl.me/ox-hugo/throughput-operations.svg" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;Typical data transfer rates of some servers, proxies and messaging technologies:&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://sbgrl.me/ox-hugo/throughput-network.svg" alt="" /&gt;
 
 
 &lt;/figure&gt;</description></item></channel></rss>