Mobile System Design Mock Interview: Photos App (like Google Photos)

preview_player
Показать описание
A mock system design interview with a senior Android engineer.

Рекомендации по теме
Комментарии
Автор

We can gather these for
Upload/Download Feature:
- photos
- approx size?
- parallel
- background
- pause, resume?
- encrypted?
- URI Sessions?
- metadata type? Unstructured?
- can be shared? Permissions?
- priority
- throttling
- notification update
- file integrity check
- outdated cleaning

ShubhamGupta-ve
Автор

Watching this video from India with 0 buffering Eugene😅😅 btw great video, very useful!

shamaagrawal
Автор

watching from India from a far distant village with speed 778MBps

abhivaidya
Автор

A reason to not use blobs in db may be that you keep the db nimble, return data quickly and separately you retrieve the actual bytes from disk. UI renders some data quickly and full photo later.

...Now to hedge my statements because people will come after me (as the internet does).

You can potentially achieve the same thing by using the db and querying twice (one for metadata, one for full data), and or using content provider to abstract the database reads (off the same table), and still use URIs.

But even then, I think it doesn't scale well to multiple developers, because people may "SELECT *" anyway, and slow down queries, etc. So while yes, it may be an axiom and may not necessarily be true, it's nowadays somewhat of a convention and people will expect to be there, so more errors could occur if you don't follow it.

Separating them could also help reduce contention accessing the resources (db + file vs db + db).

All in all, it's extra effort just to have a non-conventional setup and "prove the world wrong".

Cheers Alex!

cosodelcosito
Автор

This content is Gold. Really liked the detailed feedback. I am surprised to as how come Image loading and performance issues were never mentioned by the interviewer or interviewee.

On a side note though Indians have access to some of the cheapest internet plans in the world :)

AbhishekBansal
Автор

@41:51 - @42.10 - When user install app from that point of time he does not have any internet connection - 1 option can be, we can use FirebaseRemoteConfig with default values of country specific i.e. india - 2g - default config so FirebaseRemoteConfig will use default and compare with device, and once internet available any he can fetch updated new config.

AmitSinghIndia
Автор

Alex being a slight d**khead by continuing to bring up the "software expert" comment 😂. I love it!

isaac
Автор

Thanks for the mock and detailed feedback

hiteshchopra
Автор

In India, Not only Internet cheap but we have free unlimited calls and sms as well, so dont care

narendrakothamire
Автор

Loved the video but just one correction, India has cheapest internet available to indians. No network issues here.

android-me
Автор

Спасибо за мок интервью, круто и познавательное получилось 👍🏻
У кандидата опыт работы с Индии можно заметить по его акценту 😅

Mona-xlpf
Автор

did he say that images shouldn't be stored on the backend for security reasons? If so, why?

brandonfong
Автор

Pls put the notes discussed in video.The text is too small

aaAaa-rqcj
Автор

Do you think this is a good demonstration of Senior Android Engineer Level design?

anthonyk
Автор

@Alex Lementuev не знал куда написать, напишу здесь, хотел выразить благодарность за то, что поделился опытом в подкасте про фаанг на другом канале, у меня руки опустились в один момент и потом, я случайно наткнулся на то интервью, ты прям вселил в меня силы своей мудростью 😂. У меня прям второе дыхание открылось, вобщем спасибо. 👍

iiillllyyyyaaa
Автор

Hi, I want to give a mock interview to you as well. Can we connect?

ashishg
Автор

Poor network is a common issue in every country xD. If its India, I would worry about localization first.

karthikperiasami
Автор

узнал очень много про Индию и мало про нюансы реализации

igorf