☕ Apple's Augmented Reality
Tim Cook hints at Apple's Augmented Reality Ambitions. Huawei takes a big bet. Plus, resources for Site Reliability Engineering. Also, an answer to our last coding interview question on searching.
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
Tim Cook hints at Apple’s future in Augmented Reality
For years now, there have been tons of rumors of a mixed reality headset being developed at Apple. It’s rumored to be launched in 2022 and would weigh 150 grams (lighter than an iPhone).
Now, Tim Cook has hinted at Apple’s Augmented Reality ambitions during a podcast appearance.
He agreed that AR is critically important to Apple’s future and could be used to enhance conversations.
“You and I are having a great conversation right now. Arguably, it could even be better if we were able to augment our discussion with charts or other things to appear,” Cook said. He imagines AR being used in health, education, retail, and gaming. “I’m already seeing AR take off in some of these areas with use of the phone. And I think the promise is even greater in the future.”
Due to Apple’s gigantic size and impact on consumer technology, their big bets can have a massive impact on the rest of the technology ecosystem.
The iPhone created the base for trillions of dollars in value and multiple 100 billion dollar tech companies (Uber, Snapchat, Instagram).
Apple’s AirPods have had a significant impact on the Podcasting ecosystem and audio-only apps like Clubhouse.
A new Augmented Reality device by Apple could present a massive opportunity to developers well-versed in the AR space who are able to build on top of Apple’s platform.
Huawei is investing big in self-driving and EVs
Huawei will be investing $1 billion dollars on researching self-driving and EVs over the next year in an effort to compete with Tesla in the Chinese market.
Huawei’s strategy is to partner with automakers to make self-driving cars that carry the Huawei name as a sub-brand. The initial automakers Huawei plans to partner with are BAIC Group, Chongqing Changan Automobile Co. and Guangzhou Automobile Group Co.
Huawei’s current ambitions are focused on the Chinese market, with the CEO noting that China adds 30 million cars every year and Huawei can earn $1,500 from every car sold with the company’s tech. This makes for an extremely lucrative market even without going global.
The past year has been Huawei’s toughest year on record due to sanctions from the US Government on their smartphone business and 5G networking technologies. The US has shown no sign of reducing these sanctions, which is leading Huawei to look to new markets for growth.
Tech Snippets
A short primer on Site Reliability Engineering
Site Reliability Engineering is a topic with a ton of jargon. SLA, APM, MTBF, MTTA etc. etc.
Stackpulse has a pretty useful short primer on Key Terms and Concepts in Site Reliability Engineering.
If you want to delve in more on Site Reliability Engineering, check out Awesome SRE - a curated Github repo of SRE resources.
Interview Question
You are given an array and an integer K
where K
is less than size of the array.
Return the smallest K
numbers in the array.
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 an M x N
matrix where each row and each column is sorted in ascending order.
Write a method to find an element in the most efficient way possible.
Here’s the question in LeetCode.
Solution
This question is actually quite a bit simpler than it might first seem.
No need for Binary Search!
Instead, since each row and column is sorted in ascending order, we can take advantage of an invariant.
Let’s say we are currently looking at position (r, c)
in our matrix.
All the elements in row r
that are to the left will be less than the element at (r, c)
.
All the elements in column c
that are in later rows will be greater than the element at (r, c)
.
Therefore, we can start our search at the right-most element in the first row.
If the current element is greater than our target, then we decrement the column.
If the current element is less than our target, then we increment the row.
If the current element is equivalent to our target, then we can return True
.
If our (r, c)
exceeds the matrix bounds, then we can return False
.
def searchMatrix(matrix, target):
if len(matrix) == 0:
return False
r, c = 0, len(matrix[0]) - 1
while r < len(matrix) and c >= 0:
if matrix[r][c] == target:
return True
elif matrix[r][c] > target:
c -= 1
else:
r += 1
return False
Time complexity is linear and extra space is constant.
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!