This algorithm question was so popular @ Pinterest that three interviewers asked me the exact same question and I had to let them know that I had this question with the first interviewer. So make sure you learn how to solve this question before your next interview! Here is the invitation email I received for my remote onsite interview:
In the “Pinterest System Design Interview” blog, we went over the system design interview round. In this blog, we will go over the first practical data & algorithm interview round I had with Pinterest.
Given a list of non-empty words…
Today, I prepared another Pinterest technical interview tutorial for you guys. From the last tutorial, I went over the algorithm question that I received from the first phone screen interview. After that interview, I was invited to do the remote onsite interview (due to Covid..)
Here is the invitation email I received for the remote onsite interview:
One thing to note is that because it is a remote onsite interview, they give you an hour for the system design interview round because it is harder to explain things via the CoderPad.
A technical recruiter from Pinterest approached to me around Sep 2020 for a new software position in Toronto. Once I had a quick chat with the recruiter, I got an invitation for the first technical phone interview round. The invitation email looks something like this:
It contains date, time, and the person who will be conducting your interview. Also it contains the link to the CoderPad where you will be writing your code.
On the first phone interview round, they asked me the following algorithm question:
Have you googled anything about scalable systems or scalability recently?There are more than 123M results on Google, +10k research papers, and +100k tutorials/blogs on Scalability.
Scalability became a must skill to have for software engineers. You “must” know what and how to build a scalable system if you want to work at big companies (e.g., Amazon, Google, Uber). They work with a massive volume of data so anything they build must be scalable.
When you are building a software application or a service, I’m sure you’ve heard of these big words: scalability, maintainability, and reliability. Everyone talks about it.
Everyone just throws these words at each other without really knowing what individual terms actually mean. Today we will tackle what reliability really means in depth so you don’t freeze when the interviewer asks you sth like: so “how do you make a reliable application?”
Today we will learn in depth about ACID database properties. If you have accidentally clicked on this video to learn about acid and base chemistry, might as well — stick around a bit longer to learn about software and programming which provides the best career opportunities right now!! This might be your life changing moment for you!
Visit the official protocol buffer site to understand and learn what “protocol buffers” is. This article assumes that you have fair bit of knowledge on protocol buffers and Java.
Implement gRPC server using Java + Gradle.
Create a hello.proto file under src/main/proto directory and define a HelloWorld service as follows:
If you have not installed the protoc compiler yet, visit the official compiler installation page to download it.
Once you have the protoc compiler, make the following changes in your build.gradle file for the compiler to auto-generate HelloWorld service server code in Java:
Once you make the…
Visit the official site to understand and learn what “protocol buffers” is. This article assumes that you have fair bit of knowledge on angular & protobuf.
Use protocol buffers in angular applications.
Create a proto/hello.proto file and define a HelloWorld service as follows:
If you have not installed the protoc compiler yet, visit the official compiler installation page to download it.
Use the following command to install npm libraries required to generate typescript service client code:
$ npm install ts-protoc-gen @improbable-eng/grpc-web @types/google-protobuf google-protobuf
Then, create a bash script genproto.sh with the following code:
Then, run the script…
Software Engineer @ Google