7 questions that you should ask your interviewer

7 questions that you should ask your interviewer

This edition of the newsletter contains two quick write-ups about

  1. Questions that you should ask your interviewers
  2. The 4 most important background processes that PostgreSQL runs

I have also shared 3 super-interesting articles I read this week along with a paper that I am reading over the weekend. Thank you once again for reading this edition of my Newsletter, now without further ado, let’s jump right in …


By the way, the admissions for my System Design August cohort are open and only 39 seats are left. So, if you are SDE-2, SDE-3, and above and looking to build a rock-solid intuition to design any and every system, you will find my course super interesting.

Instead of drawing boxes, we go into intricate details of every single system and build an end-to-end understanding. The learnings from the course can be applied at your workplace from day 1. So, if you are looking for some real engineering discussions, or brainstorming, do check out my course.

Course curriculum and other key details - https://arpitbhayani.me/course


7 questions that you should ask your interviewer

Whenever the interviewer asks "Do you have any questions for me?", never skip this question. Here are 7 questions that I have actually asked the interviewer to understand the company and role better ?

  1. What is the team's biggest challenge right now?
  2. What new tech is the team experimenting with?
  3. What is that one company project that you are excited about?
  4. What was an interesting work the team shipped recently?
  5. How do you measure the success of engineering initiatives?
  6. How does the team/company celebrate wins?
  7. What are some company traditions that you enjoy?

Each of the above questions covers one interesting aspect of the role and team, pick one that is most important to you. I ask one of these questions because I am interested in innovation, culture, growth, dealing with failures, and decision DNA.

Remember, it is important to ask questions in the interview for two reasons - first, it demonstrates your genuine interest in the role, position, and company; second, it allows you to get some super important insights about the role and company.

You can find this post on my LinkedIn and Twitter; do leave a like.


By the way,

Being hands-on is the best way for you to learn. Practice interesting programming challenges like building your own BitTorrent client, Redis, DNS server, and even SQLite from scratch on CodeCrafters.

Sign up, and become a better engineer.


?? Video I posted this week

This week I posted DragonflyDB Architecture Overview

Kicking off a super interesting series on the internals of DragonflyDB - a multi-threaded drop-in replacement of Redis ?

On a single machine, it offers 25 times the throughput of Redis as it is optimized to leverage every single ounce of performance from the underlying hardware. The first video of the series is out and it is a quick architecture overview and covers two key design decisions.

The low-level design decisions and internal details will just blow your mind away - right from their design of DashTable (not hash table) to sorted set implementation. Trust me, your perspective of looking at Data structures will change after the series :)


?? Paper I read this week

This week I spent reading A flexible large-scale similar product identification system in e-commerce

This week I am reading a paper by Amazon to understand how they identify similar products at the "amazon" scale.

Amazon built a service called "Product Similarity Service" (PSS) - that leverages deep learning and distributed computing (of course) to address this challenge. After the first skim, I found their insights about similarity interesting.

They kept the definition of similarity flexible and it varies by category. In some cases, text matches would work while in other cases, visual searches (with colors and styles) give better results. Hence, the system is designed to be completely flexible.

Another interesting thing is dealing with billions of records to efficiently find similar products. You can imagine how a naive N-Square approach would just be catastrophic at Amazon's scale, hence chunking and cohorts play a really important role.

Given how contextual the problem statement is, I am reading this paper out of sheer curiosity to understand the solution and extract some patterns that can apply to other systems (not even looking for similar systems). Over the weekend I will dive deeper. So, give it a read if the topic amuses you.

You can download this and other papers I recommend from my papershelf.


PostgreSQL Background Processes

When you start your PostgreSQL database, a bunch of background processes are also forked; I spent some time today understanding them in-depth, here's everything you need to know about them ?

Each background process handles specific tasks to maintain database efficiency, reliability, and performance. Some of the important background processes are

1. autovacuum

Autovacuum is a daemon process that periodically scans tables to remove these dead tuples, thereby reclaiming storage space and maintaining optimal performance. It uses a cost-based vacuuming strategy, limiting the amount of work it does in each iteration to minimize the impact on regular database operations.

2. checkpointer

The checkpointer process is responsible for writing all dirty pages to the disk and creating a checkpoint record in the Write-Ahead Log (WAL). This ensures that the database can recover to a consistent state in the event of a crash. The process is governed by a checkpoint_timeout interval and max_wal_size as a signal to execute.

3. Background Writer

The Background Writer process writes dirty buffers to disk in the background, rather than waiting for a checkpoint or individual backend processes to perform the writes. This helps to smooth out the I/O load, which otherwise would be spikey.

4. WAL Writer

The WAL Writer process flushes the Write-Ahead Log (WAL) buffers to disk, ensuring all the changes to the database are logged and can be recovered in case of a crash. The process is governed by the wal_writer_delay parameter which controls the flush frequency.

Apart from these 4, there are others like Statistics Collector, Archiver, Logical Replication processes, and Background Worker processes; which we will discuss later. By the way, you can see these processes by running a query on pg_stat_activity or running a ps | pstree -p command on the Postgres process.

You can find this post on my LinkedIn and Twitter; do leave a like.


?? Interesting articles I read this week

I read a few engineering blogs almost every single day, and here are the three articles I would recommend you to read.


Thank you so much for reading this edition of the newsletter ?? If you found it interesting, you will also love my courses

  1. System Design Course for Beginners
  2. System Design Course for SDE-2, SDE-3, and above
  3. Redis Internals Course


I keep sharing no fluff stuff across my socials, so, if you resonate do give me a follow on Twitter, LinkedIn, YouTube, and GitHub.

Nice. We can also use it with "ioredis" as well. Seems like migration will be easier

回复
David Kozák

Research Assistant at Oracle Labs

2 个月

Hi Arpit Bhayani, nice job as always! I particularly like that you always present interesting blog posts. I wonder how you find those? You mention that you read a few almost every day, could you please share which platform/s you use to search for them?

回复
Alexandru Armasu

Founder & CEO, Group 8 Security Solutions Inc. DBA Machine Learning Intelligence

2 个月

Well said!

回复

Sounds like a nerdy and informative newsletter. Those questions for interviewers are crucial. What do you think about the DragonflyDB series?

回复
Avradeep Bhattacharya

Security Engineer @ Meta | Reality Labs Trust

2 个月

Shouldn't you be asking: # Is the position a backfill or new one # what happened with the previous employee if it's a backfill # what does success look like in the role as per the interviewer

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了