☕ Venture Capital Exploding

An awesome lecture by Intel delving into Modern CPUs. Plus a great article by Slack on Distributing Tracing. The Venture Capital ecosystem is swelling up and startups are raising a ton of money!

Hey Guys,

Interviewing.io is a fantastic resource I wanted to share with you all.

You can book realistic mock interviews with senior FAANG engineers who will give you detailed and actionable feedback on exactly what you need to work on.

Mastering algorithms on LeetCode and system design on SystemsExpert is great, but they don’t prepare you for the pressure and stress that comes from an actual interview setting.

The best part?

You don’t pay anything until you’re hired.

Check them out here.

Special thanks to Interviewing.io for sponsoring Quastor Daily. I’m a user of the service!

Industry News

2020 was a big year for technology startups with more than $148 billion dollars being raised by companies. That made 2020 a new record year in terms of venture capital funding.

This trend is only speeding up though, with $64 billion dollars of venture capital funding in Q1 of 2021 alone.

In the first 3 months of 2021, companies have raised 43% of 2020’s record breaking total!

Some of the companies that have raised in the first quarter of 2021 include Cruise, Gopuff, Robinhood, Databricks, SpaceX and Stripe.

The biggest deal was self-driving car company Cruise’s $2 billion dollar financing round, led by Microsoft.

However, it’s not just the mega-rounds that have been highly lucrative. There’s also been record funding in Series A and Series B deals in the first quarter too.

Money has been pouring into the venture capital space with tons of new early stage startups and websites like AngelList that make it easy for individual investors to pull together syndicates of people who want to invest in startups.

As long as the music is playing, you’ve got to get up and dance.

Want to create a hot new start up? The best way to do that is to take 2 hot trends and combine them. And there’s few better combinations than AI and E-Commerce! Just kidding (or maybe not?).

Klevu was started in 2013 and they use NLP (natural language processing) to help E-commerce merchants deliver more relevant experiences to customers.

Klevu operates as a search bar that can be plugged in to websites built on major e-commerce platforms (like Shopify). Klevu then takes in customer queries (in the search bar) and provides better results based on optimizations they do on interactions on the website and on real-time data they collect on broad consumer trends.

They also have a massive dataset of millions of products from 45 different industries and in 30 different languages. They use this dataset to improve a company’s product catalogue by adding in information that may have been missing from the original catalogue.

The company has just closed a $12 million dollar series A round and they’ve raised $17.5 million dollars to date.

Tech Snippets

  • An awesome lecture by Intel on modern CPUs and how they work

    • Part 1 - covers

      • What is a CPU

      • Computing Abstraction Layers

      • Instruction Set Architecture (ISA)

    • Part 2 - covers

      • CPU Pipeline and Pipeline Depth

      • Front End (Fetch and Decode stages)

      • Back End ( Execute and Write Back stages)

  • A great article by Slack Engineering on Distributed Tracing, a method for profiling distributed systems.

    • You send a request to your backend service and it takes 10 seconds for you to get a response. That’s terrible. But is it an issue with your load balancer? Database? Messaging Queue? Network delay? A combination of multiple issues?

    • Distributed tracing helps you solve this issue by instrumenting how long an action takes and breaking it down into smaller sub actions.

Interview Question

You are given an array filled with letters and numbers.

Find the longest subarray with an equal number of letters and numbers.

Return the longest subarray.

If there are multiple results, then return the subarray with the lowest starting index.

We’ll send a detailed solution tomorrow, so make sure you move our emails to primary, so you don’t miss them!

Gmail users—move us to your primary inbox

  • On your phone? Hit the 3 dots at the top right corner, click "Move to" then "Primary"

  • On desktop? Back out of this email then drag and drop this email into the "Primary" tab near the top left of your screen

Apple mail users—tap on our email address at the top of this email (next to "From:" on mobile) and click “Add to VIPs”

Previous Solution

As a refresher, here’s the last question

You are given a math equation that consists of positive integers and +, -, * and / operators (addition, subtraction, multiplication and division).

Write a function that computes the result.

Be sure to follow order of operations (you will not be given parentheses).

Input - “2 * 3 + 5 / 6 * 3 + 15”

Output - 23.5

Solution

First of all, it’s important to remember order of operations.

  1. Solve any multiplication/division operations

  2. Solve any addition/subtraction operations

The underlying data structure necessary to solve this question is a stack.

More specifically, we’ll need 2 stacks.

One stack will keep track of our numbers and the other will keep track of our operators (addition/subtraction/multiplication/division).

We’ll iterate through the input string and every time we see a number, we’ll push the number on to our number stack.

Remember that numbers can be multiple digits, so we’ll have to check the next item in our string to see if it’s a number with multiple digits.

Every time we see an operator, then we’ll first check what the priority of our operation is.

If the current top of our operation stack is a multiplication/division operation, then we’ll have to solve the operation at the top of our stack first.

So, we’ll pop the top element off our operation stack and pop off the top 2 elements from our number stack and we’ll calculate the operation.

Then, we’ll push the result to our number stack and continue on processing the input string.

After processing the input string, we’ll then process our number and operation stacks until they’re completely empty (just continuously pop off elements from the stacks and complete the operations until the operation stack is empty).

Finally, we should be left with one remaining number in number stack and we can return that as our final answer.

Here’s the Python 3 code.

Want more practice with real FAANG software engineers?

Check out Interviewing.io!

You don’t have to pay anything until you get that job at FAANG!