DEV Community

Arpit Mohan
Arpit Mohan

Posted on • Originally published at

How to ace coding interviews; and scaling tips from Netflix & Shopify

My TL;DR style notes from articles I read today.

How to ace the coding interview, by an ex-Facebook interviewer

  • Don’t rush to write code. Think about the problem first and think out loud.
  • Ask as many questions as you have about the problem before starting to solve it.
  • Don’t strive to impress with the right answer, talk about all approaches you can take and talk about the tradeoffs with each.
  • Plan your solution with a pseudocode.
  • Talk out loud about what you are doing while implementing the solution.
  • Write comprehensive test cases.

Pro-tip by the author in case you are stuck: Some of the best problem solving happens when you can align the strength of a specific data structure to a problem’s bottleneck.

Full post here, 8 mins read

Tips for high availability

  • Go for regional deployment, validate the change and then go for global deployment.
  • Choose deployment windows during off-peak times for each geographical location.
  • Any deploys triggered automatically should not be executed during off-work hours or weekends.
  • Use testing & canary analysis to validate code before it is pushed to production.
  • Deploy to production exactly what you tested.
  • Know how to roll back any deploys quickly.
  • Use preconditions to verify the expected state.

Full post here, 9 mins read

How Shopify manages petabyte-scale MySQL backup and restore

A few learnings from the post:

  • Use incremental snapshots of data for backup after one initial full snapshot to reduce both storage and recovery times.
  • Save on storage costs by deleting all but the last two copies for recovery purposes.
  • To ensure data integrity, verify these last two backup iterations daily.
  • Compress, encrypt and transfer the backup to offsite storage to build further security.
  • Using snapshots this way is a more expensive process than more traditional backup technologies. But it reduces time and processing power for both the user and the service.

Full post here, 6 mins read

I share these TL;DR versions of articles on software engineering that I read every weekday through my newsletter - in.snippets(). Sign up here if you liked what you just read.

Top comments (0)