Andrey Tech
Andrey Tech
  • 17
  • 196 543
How I learned to Code and Make iOS Apps
Join me as I recount my transformative journey from a novice coder to a seasoned iOS developer, landing my first job, navigating freelancing, and eventually joining Meta. Let's dive into the ups and downs of my career path, highlighting the power of determination and taking that initial leap of faith. If you're considering a career in mobile development, this video might just inspire you to take the plunge!
มุมมอง: 747

วีดีโอ

Uber's Staff Software Engineer Interview Exposed
มุมมอง 108K7 หลายเดือนก่อน
In this video, I share my recent interview with Uber for a Staff Software Engineer role. Recruitment: Learn how Uber's recruiter contacted me via LinkedIn, discussing the promising initial stages. Coding Screening: Discover the LeetCode medium-level challenge and my performance. Online On-Site Interviews: Explore the five interviews over three days, covering coding, iOS, system design, collabor...
Design Uber Eats - iOS System Design Interview
มุมมอง 15K9 หลายเดือนก่อน
In this TH-cam video, I share my recent interview experience with Uber for the position of Staff iOS Engineer. The interview focused on mobile system design, and one of the questions asked was to design a simplified version of the Uber Eats app. Join me as I walk through the question, the requirements, the data model, API design, real-time updates using Server-Sent Events, storage options, and ...
iOS Interview Question - Image Loader
มุมมอง 1.3K9 หลายเดือนก่อน
In this video, join me as I tackle an interesting coding challenge faced during an interview for the position of iOS Engineer. I'll be sharing the solution to this problem step-by-step, where I was asked to fix a poorly implemented image loader in a simple app. Watch as I demonstrate how to implement the image loader with error handling logic and write unit tests for this class. Chapters: 0:00 ...
Exploring UI Design Patterns: MVC, MVP, and MVVM
มุมมอง 1.4K10 หลายเดือนก่อน
In this video, join me as I dive into the exciting world of UI design patterns for mobile development. We will explore MVC, MVP, and MVVM, specifically tailored for the presentation layer of your app. Discover how these patterns enhance modularity, testability, and readability of your code. I will discuss the challenges and benefits of each pattern, comparing their characteristics. Whether you'...
Meta Sofware Engineer Interview Experience
มุมมอง 12K11 หลายเดือนก่อน
Join me as I share my incredible journey of securing a job at Facebook (Meta). From receiving an unexpected message from a Facebook recruiter to going through a rigorous interview process, I navigate the challenges and triumphs along the way. Discover valuable insights, interview tips, and firsthand experiences as I recount each step, from initial coding interviews to the final offer. Find out ...
Leadership Principles for Engineering Managers
มุมมอง 30311 หลายเดือนก่อน
Discover effective leadership principles and tools for Agile environments in this video. Learn how vision, strategy, motivation, and skill development impact team success. Explore the power of leading by example, building a positive culture, and conducting impactful one-on-one meetings. Gain insights into performance reviews, retrospectives, and prioritization techniques. Unlock your team's ful...
Move Zeroes - Leetcode 283 - Swift Solution
มุมมอง 33311 หลายเดือนก่อน
Swift solution for Leetcode question "Move Zeroes" leetcode.com/problems/move-zeroes/
Relocation to London as a Software Engineer
มุมมอง 1.9Kปีที่แล้ว
In this video, I share my experience of relocating to London for a job at Facebook during the pandemic. I talk about the challenges I faced during the entire process of moving, including visa applications, finding temporary accommodation, and transporting my belongings. I also share some tips and advice for those planning to relocate to a new city or country. Join me on this journey and learn a...
Balance a Binary Search Tree - Leetcode 1382 - Swift Solution
มุมมอง 392ปีที่แล้ว
Swift solution for Leetcode question "Balance a Binary Search Tree" leetcode.com/problems/balance-a-binary-search-tree/
Container With Most Water - Leetcode 11 - Swift Solution
มุมมอง 339ปีที่แล้ว
Swift solution for Leetcode question "Container With Most Water" leetcode.com/problems/container-with-most-water/
How to use Leetcode effectively in 2023
มุมมอง 1.6Kปีที่แล้ว
Are you preparing for technical interviews or looking to sharpen your coding skills? Look no further than LeetCode, the popular online platform for practicing coding challenges. In this video, I'll be sharing tips and strategies for using LeetCode effectively in 2023. Blind 75 questions list - leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions Chapters: 0:00 Intro 0:27 P...
SOLID principles explained with iOS examples
มุมมอง 4Kปีที่แล้ว
In software engineering, S.O.L.I.D. is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable. The principles are a subset of many principles promoted by American software engineer and instructor Robert C. Martin, first introduced in his 2000 paper Design Principles and Design Patterns discussing software rot. Chapt...
Design Story Viewer - iOS System Design Interview
มุมมอง 4.7Kปีที่แล้ว
Today we’ll be talking about building a simple story viewer, the kind you see on apps like Instagram and Snapchat. It’s an app that gives you a slide-show experience of the most relevant photos. Chapters: 0:00 Intro & Requirements 1:15 Plan 1:44 Data Model 2:24 API 7:04 UI 9:09 MVP 9:51 High level design 11:48 Data flow 13:30 Additional questions
Design Instagram News Feed - iOS System Design Interview
มุมมอง 12Kปีที่แล้ว
We’ll be talking about how to build an Instagram news feed. So we’ll be going through an iOS system design interview question. It is similar to the interview questions you might be asked at big tech companies. Chapters: 0:00 Intro 1:19 Requirements 2:30 Plan 3:10 Data Model 4:55 API 9:28 Storage 11:38 Architecture 14:28 UI 16:43 Discussion
Mobile System Design Interview Guide
มุมมอง 21Kปีที่แล้ว
Mobile System Design Interview Guide
Steam Friends List App - iOS System Design Interview
มุมมอง 12Kปีที่แล้ว
Steam Friends List App - iOS System Design Interview

ความคิดเห็น

  • @fuxlud
    @fuxlud วันที่ผ่านมา

    Thank you so much for these videos. It's so awesome that you are thinking and talking through the options available for each section in your plan!

  • @sebasyanni1258
    @sebasyanni1258 2 วันที่ผ่านมา

    7:09 shouldn’t be a boolean?

  • @fuxlud
    @fuxlud 2 วันที่ผ่านมา

    You can omit the Error suffix from the Error cases as the fact that it is error will be stated by the enum name

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    After being an Engendering Manager and a Lead Developer at Meta, what else can you strive for? Or in other words, what would you like to do in 5-10 years?

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    That’s just amazing!! How did you get to this level of crisp and clear articulation of your thought?

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    Regarding the API implementation: Is there a need for an escaping completion block nower days? I could just return the Result<,> and make the function async. Correct?

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    And do you have a LinkedIn? I would love to follow your journey

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    Hello yet again, In one of your videos you mentioned that you didn’t develop native iOS in Meta? Didn’t it create discomfort knowing that you are staying behind on the native technology (it turned out impactful for the Uber interview) or was the fact that it is Meta, made it bearable? 😅

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    Hey again Andrey :) What was the contributing factors for you becoming an Engineering Manager. And why didn’t you continue with the managerial trajectory?

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    Hey Andrey, you made few videos about solving LeetCode questions. What was your objective doing LeetCode as an iOS developer?

  • @fuxlud
    @fuxlud 3 วันที่ผ่านมา

    You rock man!!!! What a wonderful video!

  • @cambertoku
    @cambertoku 7 วันที่ผ่านมา

    Can you share some details on why you decided to leave meta? Thanks for the great content - it´s really inspiring and entertaining. :)

    • @andrey_tech
      @andrey_tech 3 วันที่ผ่านมา

      Hey, thanks a lot! Sure. I'll make a video about this sometime in the future

  • @karthikperiasami
    @karthikperiasami 13 วันที่ผ่านมา

    why is it important how many users will be using the app at the same time? How does such metrics affect a client side app?

  • @user-dj2kn7vo4q
    @user-dj2kn7vo4q 19 วันที่ผ่านมา

    nice breakdown Andrey. thanks.

  • @adarshbinjola4069
    @adarshbinjola4069 19 วันที่ผ่านมา

    Hi @Andrey Please cover topic that are related to creating a mobile SDK , Design Payment SDK Design Network SDK Design Analytics SDK Design Image cache SDK Design File Downloader SDK the reason I am saying these topic because these topics require more focus on architecting instead of simply following MVVM because there is no UI layer involved into these topic

  • @monahidalgo1828
    @monahidalgo1828 21 วันที่ผ่านมา

    Very nice.

  • @monahidalgo1828
    @monahidalgo1828 21 วันที่ผ่านมา

    Sounds good.

  • @darkpassenger9155
    @darkpassenger9155 24 วันที่ผ่านมา

    Man, thank you for sharing your experience. You make great content. Keep it up

  • @luisarias7622
    @luisarias7622 28 วันที่ผ่านมา

    Next week I'll have my on site interview at Meta. Your videos about system design are really great. Let's see how it goes 😬

    • @andrey_tech
      @andrey_tech 26 วันที่ผ่านมา

      Thanks and good luck 🙂

    • @monahidalgo1828
      @monahidalgo1828 21 วันที่ผ่านมา

      Good luck.

  • @sanjay-nd7mk
    @sanjay-nd7mk หลายเดือนก่อน

    hey @andrey you break the overall process nicely. I really appreciate you work.

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Thanks!

  • @himanshujha7283
    @himanshujha7283 หลายเดือนก่อน

    How to do it in 2024?? Can it be done in month or 2 jus for project

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      If you know other programming languages, you absolutely can do it in 2-3 month just for a pet project. But if you’re starting from scratch, it would take longer 🙃

    • @himanshujha7283
      @himanshujha7283 หลายเดือนก่อน

      @@andrey_tech thanks for responding sir, bit of more context guidance would be very helpful I am in pre final year end and DSA level I'm interview are pretty rough thinking of doing Dev pls help,any contact info would be great too thankyou

  • @smithmichael6841
    @smithmichael6841 หลายเดือนก่อน

    Thanks for the content. As a self-taught developer, how did you learn app architecture and computer basic courses such as operating systems and computer networks?

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Every developer is a self-taught developer. It’s part of the continuous learning philosophy. It’s not possible to learn everything needed in the university, you always need to learn new things and expand your knowledge.

  • @cosodelcosito
    @cosodelcosito หลายเดือนก่อน

    SOA? are you talking about SOA-like modules where modules provide functionality as opposed to a monolithic app?, thanks for the info :)

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Yea, separate modules / classes for different entities

  • @RishabhECT
    @RishabhECT หลายเดือนก่อน

    Great & simple explanation. Thanks

  • @faizanjaved1443
    @faizanjaved1443 หลายเดือนก่อน

    Say hi to Swift, say bye to Objective-C ❤️

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Yeah, totally...

    • @faizanjaved1443
      @faizanjaved1443 หลายเดือนก่อน

      Let's collaborate on using AI tools to earn money online.

  • @faizanjaved1443
    @faizanjaved1443 หลายเดือนก่อน

    Artificial Intelligence 😊

  • @jerryren4076
    @jerryren4076 หลายเดือนก่อน

    Inspiring journey!

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Thanks 🙃

  • @alexvaiman4966
    @alexvaiman4966 หลายเดือนก่อน

    I think there is a good reason why there is no real cache in Instagram, post can be deleted, likes can be added, or removed. the cache thing is just a "psychological" UX lie )), there actually only about 3-5? last post cached, the like offline option, is more for online error happened thing, then for "offline like", but as most probably, from implementation side, you can cover both the same... you have this option, but you are the one who work in Facebook (so you can tell us, if i am wrong))) . ps, for this simple up, when only so basic usage of db is needed, maybe core-data, or plain SQL is ok, but for something more complex, i would go with realm, any day of the week. Have no opinion about the new swift-data thing, have not used it yet, but core data has really poor performance for anything complex, realm is way more effective, with its lazy loading model. (fetchBatchSize, is not really lazy loading). you make all those record, about designs, but you never mentions how did the interviewer tackled your design, about some "disagreements", and places, where you had polity defend you ideas...

  • @alexvaiman4966
    @alexvaiman4966 หลายเดือนก่อน

    funny real Instagram app actually has this like offline option (never knew). the "cache" function is very limited though... i can only see very last few posts, so it kind of funny they bothered implementing this "like offline" ))). regarding pagination being naive, this is not true. on mobile side, both are implemented with same "ease", both approaches have there use cases, when you loop videos on you-tube search api, or flickr images search, there is no point what so ever for "cache", and when cache of network calls is not needed, there is no point in "timestamps", so it not that is is "naive", it just dont suite for cache post history, on the other hand "timestamp" approach, will not feet flickr api. or any api, that dont need cache for that matter.

  • @alexvaiman4966
    @alexvaiman4966 หลายเดือนก่อน

    no no )))) just return is bad... ))) return the error to the closer ) (2,24), also u should check the response code aka 200, when you use network call which throws(it is a must), yet, it good practice to check even in this case, you never know... maybe you cloud side friend decides it is a good idea return error, with error code 299 ))) you explain very nicely how to answer this type of quotations, I do have the knowledge, but luck skills of presentation, so thanks )

  • @alexvaiman4966
    @alexvaiman4966 หลายเดือนก่อน

    dude stop maintaining silent push )), it is totally unrelated to what user needs, delivery time is something, undocumented, even if the app in foreground. silent pushes, is nice tool for pushing something not very important, or argent.

  • @app1.cpu.ru.internet
    @app1.cpu.ru.internet หลายเดือนก่อน

    Thanks!

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Thanks a lot and wish you all the best! 👍

  • @satyajitmalugu9679
    @satyajitmalugu9679 หลายเดือนก่อน

    awesome video. I really like how you gave reasoning for cursor based pagination. nit: its not "i mage" it is "image" sounds something like 'emage'

  • @raphaelolumofe4958
    @raphaelolumofe4958 หลายเดือนก่อน

    very nice video

  • @MrSmileypotato
    @MrSmileypotato หลายเดือนก่อน

    Quick question, for storing metadata, why do we need to choose a framework specifically for managing object graphs?

  • @jeanmas4197
    @jeanmas4197 2 หลายเดือนก่อน

    Principal software engineer here with 40 years + experience. In my experience, there's 3 types of technical interviews: 1. They want to know what you can do and how you think. This is the one you can pass. People are usually friendly and encourage you. 2. They want to know if you do things the way they do things. This is hard to pass and they'll often be rude. You don't do things like they do so you suck and they want you to know it. 3. They want to know what you cannot do (the opposite of 1). What you are good at is not interesting, they want to know what you suck at (in their opinion). The interview is focused on this. As soon as you seem to know what you are doing/talking about, they want to move to something else. They will be rude and will fail you. It's unlikely to pass 2 and 3. I once interviewed for a position with no DB experience required. Interview was of type 3. I nailed every question and exercise so the guy started to ask about DB queries (again DB not required for position). What's the query if you want to do this or that? I nailed most of them until he finally found one query question where I wasn't too sure. You could clearly see how happy that made him so he could finally fail me. With more experience now, when I feel this is a type 3 interview, I just start failing every question on purpose cos nothing good comes out of those interviews and I avoid stress I don't need.

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      Wow, thanks for the insight!

  • @Prabinbalame
    @Prabinbalame 2 หลายเดือนก่อน

    How can I contact you sir please 🙏

  • @Prabinbalame
    @Prabinbalame 2 หลายเดือนก่อน

    How can I contact you sir

    • @andrey_tech
      @andrey_tech หลายเดือนก่อน

      There's an email in the description of the channel =)

  • @Prabinbalame
    @Prabinbalame 2 หลายเดือนก่อน

    Please reply sir

  • @Prabinbalame
    @Prabinbalame 2 หลายเดือนก่อน

    Hi

  • @mirabella1284
    @mirabella1284 2 หลายเดือนก่อน

    I have a interview this Thursday wish me luck it’s my first job ha no experience

    • @monikarathore6532
      @monikarathore6532 2 หลายเดือนก่อน

      I have next Tuesday

    • @andrey_tech
      @andrey_tech 2 หลายเดือนก่อน

      Good luck! 🤞⭐️

  • @SkipEleven
    @SkipEleven 2 หลายเดือนก่อน

    Great videos as always. A question I had for anyone in the comments or @AndreyTech himself. I'm failing to see the need for Core Data in this architecture, and any long term persistence. We fetch restaurants, images, etc. Generally, this type of app is used by a user for 15 tops type thing, and then not again for usually at least say 24 hours if they order a meal again the next day. That next day, we're going to need to fetch restaurants and meals again. Prices can change, restaurants may be closed as it's Sunday, if you change your address any restaurant we previously knew about may no longer be in the delivery zone etc. I think NSURLCache would suffice here for all our meta data. Likely don't need to init it with any disk size capacity, just memory. Images could be via SDWebImage or a simple ImageService based off NSCache once again just utilizing memory and no need for long term persistence. My only critique of the architecture after watching is the use of CoreData. I think it's overhead for this particular example that offers no benefit. Just my 2 cents! Wonderful video as always, your System Design videos are great. Keep them up!

  • @marvelousvids.9600
    @marvelousvids.9600 2 หลายเดือนก่อน

    I recently had an initial interview with one of their "head of.." and it was the most unprofessional and unpleasant call I have ever experienced. He was 15 minutes late (I almost canceled the call) without offering an apology, asked a lot of silly questions to which I provided examples, and he yawned throughout, giving off an impression of disinterest in hiring anyone. It seemed like they may have conducted the interview just to fulfill their internal recruitment procedures. If this is the representation of the company, I can't think the level of toxicity within.

  • @ShimAnthRain
    @ShimAnthRain 2 หลายเดือนก่อน

    sound seems lower..

    • @andrey_tech
      @andrey_tech 2 หลายเดือนก่อน

      Thanks for the feedback… Yeah I’m working on improving my sound and other stuff

  • @MatthewatCourseCareers
    @MatthewatCourseCareers 2 หลายเดือนก่อน

    Hey Andrey - I sent you an email about a paid partnership. Let me know what you think.

  • @nicolasgabriel9050
    @nicolasgabriel9050 2 หลายเดือนก่อน

    Thanks fot this video. Do tou have any recommendations for ios system design preparation? Usually the content out there is more focused on backend

  • @translatingIdeasIntoCoding
    @translatingIdeasIntoCoding 2 หลายเดือนก่อน

    Great video! 1. Why do we need user-id in API requests? Backend already knows client's identity. (from access token) 2. In payload, why do we send postID to server? We already send "page" for pagination. 3. On 10:27, what do you mean by "user unloads app from memory and loads it back?". You mean navigating to another screen or killing app or sending it background? How can user achieves unloading and reloading on memory? 4. On diagram (11:40), instead of viewModel, it should be viewController to connect S3 imho, since we locate SDWebImage on UI. Am I correct? 5. On (15:30) Photo and Album seems duplicated imho. Photo can be treated as an album with only one photo. so, we don't need any new cell class for photo. Bcs on UI, the only difference is a dot indicator. No need to duplicate them imho. 6. On 15:30, ViewModel is conforming UITableViewDataSource and UITableViewDelegate. Do you think is it a violation of Separation of Concerns? Instead, what if we define a CustomDataSource that conforms those protocols and keeps data inside and define an instance of CustomDataSource in ViewModel? 7. Also, on 15:30, since we use CollectionView, protocols must be UICollectionViewDataSource, UICollectionViewDelegateFlowLayout. 8. I see http instead of https. Is interviewer gonna take this as a negative signal for security or he would ask me if it's a typo? (I mean in real world Meta SD interview.) Thanks.

  • @user-fn8qj6rn3x
    @user-fn8qj6rn3x 3 หลายเดือนก่อน

    Sometime interview is actually also based on the interviewer attitude as well, this is a double side selection also. I recently interviewed with Monzo bank, and rejected by the coding stage. The guy can not say anything about valuable feedback on my worked solution. Instead ask me why u want to implement Protocol on time limit tasks? 😮 I thought this is a simple clean way to do so. And in then end I asked they interviewer, what u don’t like in Monzo, he said well, I don’t like others review my proposal it take time and waste. And for other questions he just answer mess. I start from this stage I found out this is not the company I will like also😂

  • @OmfgItsSteven
    @OmfgItsSteven 3 หลายเดือนก่อน

    Would it be better for basket to use PUT instead of PATCH so you don't need to call the api multiple times for any item changes? Also what is the advantage of using SSE over Websocket in this case?

  • @SvetM
    @SvetM 3 หลายเดือนก่อน

    Thanks for a great video :) but Binding [ˈbaɪn.dɪŋ] ;)))