I am a staff software engineer because I have been with the company for like 14 years. I would never pass these interviews. This is scary as hell for me. I have never encountered a problem that even resembles the Leetcode problems.
But he aced that... He failed the practical interview which most people would pass, I'd say he wants to be an educator instead of an engineer if I was interviewing him.
Senior hiring managers were expected to select CV's out of a pile in a FAANG company, all the CV's they rejected turned out to be their own CV's with obvious changes like the name, education and work history so the managers wouldnt recognize them. Conclusion, they would not hire themselves with their current requirements. The elitism and gatekeeping is off the charts in software.
See there lies the problem. Companies test & hire for 'Software Engineers'. What you have experience in does not matter. You should be a 'Software Engineer' with mobile development experience. Start looking at expertise as an extension not core. At the core everyone should be a 'Software Engineer' which includes being good at the stack or atleast having sound conceptual knowledge. Google 'T shaped skills'.
In a real scenario you will do research to come up with the best design, these system design interviews are stupid. If you don’t recite the exact design they use or have in mind you’ll fail
Especially interviews on Hackerrank, if your application works but not exactly the way HR expects then you have failed. Also most of that questions dont make sense and the examples they give are terrible like arrays or varibles that arent being declare anywhere and having to write api consuming functions without knowing the data structure in the jso, because remember opening a new tab and checking an api json is illegal according to their rules, and googling a problem is out of the questions.
You get rejected for these interviews, then you realise the guy that didn't hire you, put a modal over the hamburger menu, so you can't click it 75% of the time...I'm better than most these people
100% issue with the industry is that unless you have been working with their exact stack they see it as a disadvantage. And with so many variations available it makes the entire situation unnecessarily difficult. No other industries work this way. The value is in the individual’s potential over the long term and not in what they can provide within the first 30m on the first day.
What’s crazy is that they looked and searched him to recruit him only to deny him. That is just wrong. So I can’t blame him for “picking” the wrong job role. No developer should ever be “ Dinner for Schmucks”.
@@ShopperPlug Amazon does it better. They are trying to screen you out in a phone interview and online code test. Once you get the Amazon loop they think you will pass and it's too confirm it. After all, why spend all the interviewing time (and money) to only reject a candidate?
Interviewed with Uber twice. Both times had to deal with a hostile interviewer. It was clear they didn't want to interview me (or just in general - I know interviewing people can suck if you're doing it a lot). I took the loss as a win that I wouldn't be around someone like that. There used to be a "no asshole rule" in tech. That idea seems to have been victim to defenestration.
Ever posted questions on Stackoverflow? I often wonder how people work with devs like that or if they actually have the stones to be like that in person.
Thanks for sharing your experience Andrey. "There is a price you are paying everytime you are interviewing." 100% true - same experience interviewing for Senior iOS Engineer.
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.
The industry has undergone a transformation due to ineffective leadership. Even a seasoned Meta iOS developer, exposed to one of the largest mobile app codebases, faces unwarranted scrutiny. Companies often claim they want candidates to succeed, but their actions seem to set them up for failure. I've had a similar experience in my case, whether it's for a Staff iOS position or even a Senior role. The interview process itself feels like a full-time job. Thanks Andrey for the video.
I am a contractor, so I go to these interviews regularly say at least once a year and sometimes interview for 3-4-5 positions at once until find something interesting. A lot of times I can say the interview questions, especially on the algo design side are much much more complex than anything you need to do in the actual work, which is bizarre. I don't understand why I need "google" level engineer skills for an interview, just so I could do boring CRUD style API afterwards. I also think, that people who design these interviews usually work for 10+ years in the firm and hence have never themselves went to interviews. As say one of the questions I was solving, was to right an algorithm to buy/sell stocks for most profit - time limit 10 minutes and unit tests 7 out of 10 are hidden :) Very realistic scenario! Conclusion would be, keep interviewing and dont feel bad about failing, as there are 1000's of algo questions and only so many you can remember, so a bit of luck is needed. And I know you shouldn't memorise algos, you should learn to solve them, but I would argue within interview time constraints at lot of times that is simply not possible, as usual time limit per question is 15-45 mins, depending on the firm.
As a software engineer with nearly 20 years experience, I did the leetcode grind earlier this year for the first time. The stock algorithm you listed was one of the problems I solved. I already forgot how I solved it and would not pass today unless I had a lot of time. The same goes for leetcode 211 which was mentioned in the video -- I immediately recognized it as a trie data structure but completely forgot how I implemented that. I would recommend solving leetcode for practice though. It keeps me sharp in the language of choice, and it is great focus on a core problem as opposed to the frequent multitasking and/or context switching we have to do day-to-day in our jobs.
i had a nearly identical experience to your "bar raiser" interview a couple months ago. I thought the guy was trying to test me but realized later he was just being rude and aggressive. Crazy
@@andrey_tech The most important interview question you should answer: when you are so good at a hard interview and they reject you what this means tip - what is the current state of IT industry?
You are better off creating your own company and being a consultant, than chasing these opportunities. Consultants are the highest paid in the industry in most countries.
@@darkopz usually once you have 2 or 3 good clients, the selling takes care of itself, it’s true you have more job security working for someone as they take the risk of keeping work coming in, but that’s also why most consultants make 2-3 years income in one job, so the risk is balanced. Also in the IT Industry consultants only get it right 30% of the time, so yes they fail 70% of the time, try doing that in your usual job. So consultants do less work, are in high demand, earn considerably more, and have a high failure rate.
@dave24-73 Can you point me to any sites or contacts of people you know who have done that? I am actually considering making this move. I have been in software development for years. Even after refreshing all of my skills and slaying interviews, I am constantly passed over. It's been this way ever since the Pandemic. I've always dreamed of getting into the business side of things and selling my services. Now may be the time to make the leap.
@@dchardin1 No idea about cold sales, but it helps having some industry experience and contacts from getting it. Then you're known for something, and the clients come to you with their problems. And you're in a good position to sell to adjacent markets. After 20yrs working, 15 as consultant, I switched to being an employee at megacorp -- were it not for my plan to start my own company, sell a product instead of knowledge or time, I'd become a consultant again no question. And yeah: Everyone and their dog projects their wishes and traumata onto the interview process; most of their staff would fail. The goal is not to discover how much you don't know, after all.
Don't do it in one day. I did it for the Uber staff engg same position. Started at 9 am and ended at around 6. The breaks in the middle did not help me. I was so exhausted and unable to think not mentioning I didn't get a good sleep that day. It was horrific but the interviewers were nice.
You know something...? You can make as much money doing plumbing or being an electrician. Screw 'em. I'm 53, and have been working in software and being paid for it since 1988. When I attend an interview, a lot of the people interviewing me weren't even born when I was writing software. There's nothing wrong with that, of course. But a lot of the interviewers aren't interested in _experience_ any more. They are interested in niche, esosteric areas of algorithmic programming and computer science. I'm not an uber programmer - I've worked with enough of them over the years to know that I'm not. But I have a LOT of experience. More than most. So I know bullshit when I encounter it. The great thing about being my age is, I can call them out on it in interviews and genuinely not care one way or the other what the result of the interview is. So, when given some BS algorithm to write, I like to ask them under what application or scenario such an algorithm would apply _to their business or core application_ . If they can't give me an answer, then I ask them why are they testing applicants on niche areas of knowledge that are not applicable to their core business? I've already lost the job at that point, so I don't care. Like I say, screw 'em. You'll all come to the same conclusion as you get older. Trust me. Software development is BS on steroids. The majority of software teams are over resourced, and under utilised, with 40 or 50 people being employed to produce bloated, bug-ridden, poor performing software that runs on massively complex, and expensive hardware platforms that a team of 5 guys working in a shed could do a better job of. As you can tell, I'm pretty disillusioned with the software development industry. But again, my opinions are based on my _experiences_ over the last 35 years. And my _experience_ tells me that the software we are writing today consumes 1000x the computing resources of the systems we were using in, say, 1989, and _does nothing that the old systems from the 1980's couldn't do_ - the only difference is the presentation is much nicer these days! It's not even necessarily any faster these days, even on modern distributed hardware platforms. In fact, I'd take a small wager that it is _slower_ . Anyone that's worked in banking applications will know what I mean.
There is a lot of gate keeping during the interview processes I have found senior level engineers want to impose their seniority and whatever their egos feels like.
An older friend of mine with experience says that it's as much of an interview for the company as it is for the worker. If you see that the people are unpleasant, you can say that there is no point in continuing the interview and end it there. He sometimes goes to interviews to see how rusty he is and what are the offerings on the market.
Going to say one other thing. I told a friend who is a psychiatrist about a lot of these shenanigans such as agile scrum, hostile interviews, throwing each other under the bus, etc. Her conclusion was that these were terrible on mental health, and in many situations mimicked social experiments. Even in your short account, we can tell you experienced trauma from some of the process - especially the hostile interviewer. It if better to not feed the beast.
The yearly salary of an astronaut ranges from $104,898 to $161,141 according to NASA. A staff developer may actually have a comparable, if not higher, salary. Therefore, they are entitled to be demanding, I suppose.
@@samuraijosh1595 Try to search about this on Google, you will find official sources on governmental websites. An astronaut can get paid higher, but not necessarily. The salary range I mentioned seems to be correct. You can try a similar search for staff developers.
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😂
This sort of shit is why I've decided to no longer develop my tech career. I'm in a holding pattern in my current job while secretly training/preparing for a career change in my spare time. And tech is clearly not safe anymore with layoffs of HUGELY competent people, left and right and up and down. I'll never be as good as those people being fired right now. Screw it, I see no future in tech, it no longer interests me and I've had enough.
If you are going to get passed-on, then this is the way to do it. I have a feeling that they were very close to bringing you on. I am currently aspiring to get to your level but I am not there yet.
If doing iOS UI, especially under time pressure, SwiftUI is the only answer. Bringing up a Storyboard should be an immediate disqualifier. Thanks for sharing your experience!
First time at this channel, I like how positive your mindset is Andrey! Bad interviews often destroy a person's courage. One question though, I believe you've made a couple of switches between companies in your career. Do you believe long notice periods have an effect on whether or not you'll be hired at the place you're being interviewed at?
Hello, thanks for the comment! It depends on the company and the urgency of the particular position. Big tech companies usually move slower, and they typically don't mind a 1-2 month notice period. Startups and smaller companies, on the other hand, might be more inclined to seek someone to hire as soon as possible.
So let's see, the two interviewers who didn't like you... One expected you to hit the ground running on a very domain specific thing under extreme time pressure. An engineer at your level (new viewer but you seem competent and got in the door for a staff interview to begin with) can be trained up on that stuff in a couple days, and building a working UX in 50 minutes is a bit crazy regardless. And for backend design, can't say whether the interviewer was right on technical issues not knowing the specifics, but he sounds like kind of an asshole. Maybe you dodged a bullet.
Thanks for the comment! Yeah, You're right. I'm not trying to justify a bad feedback in this video, I just wanted to show a real picture of how the interviews are going and what to expect
I can program an entire game system in 2 days. I'll spend a week designing the UX. 50 minutes? Seems like they're seeking an emergency role for when they botch something worldwide and need you to save the company.
sometimes when faced with someone more qualified than they are, they have no choice but to rig the interview... that or the role was intended for outsourcing
Harsh reality of any iOS interview is that you need to prepare a lot for the first type of question. That is standard. The BE architecture Bar Raiser seemed to maybe in a bad mood - that's just bad luck.
I speak from my experience of working in a medium-sized company, where there are 7 Senior developers per 1 Staff member, and no one was promoted at the end of the year. You are applying for a position that is being applied for by many other Senior developers who have already worked for many years at Uber and know everyone about it. To be hired, you had to be absolutely perfect. It seems to me that only “stars” get such interview positions.
Of course, they don’t want you to spend two weeks learing on the job. Thats too expensive. They rather have 5 people spend a month looking for the candidate who can land on his feet running at the job.
Hello, Andrey! If you want to find any ideas for video, pls make one more video about system design interview for app like e-payments. Looking forward for your reply!
It’s crazy how much time is wasted at these companies on both sides… imagine spending 1 full day+ across loads of people for every job opening… and many of these companies tend to have high turnover rate
@@andrey_tech I've known/met many of them. The common complaint is that they're either let you go for reasons like you not being a "good fit" ie they want you to think and talk like them, or they quit due to being overworked as the demands are incredibly high and many times completion unreasonable expectations in result.
Still the pay is no where close to what a plumber or electrician makes. It's getting ridiculous. Software industry is an over saturated field with extremely talented people available on the market thus the companies can torture us like racing horses or better like greyhounds. I have been working 20 years as a SWD, once a person works for 2-3 years in the same company, the focus is 98% on that company business domain, everything else get forgotten or rusty at best. I'm surprised you did that well.
@@nhanimaah786 Who cares? Generations of people who have invested decades in software education as well their careers. Cool is subjective, mostly for not grown up adults, the compensation on the other side though, it is not subjective, it's easily a measurable artifact.
@@gencymeri8770 okay cool then keep up the chase and stop complaining. Go for those rounds of interviews apply for 5000 jobs and get ghosted. The truth is software devs are not special anymore and companies know this. They know they can ask you for 9 rounds of interview and if you do not do it, there are tens of thousand others willing to do it. It is obviously a dying field. Nearly a million people laid off in the bast 18 months. The job market for software is a mess. This is why I advise younger ones to learn blue collar skills or get a job in the medical / health care field. The demand there is crazy. I know many people with computer science degrees from great universities who cannot even get a basic dev job. Software dev is an overrated garbage job.
I am a principal engineer, time to time I go to interviews to other companies like Delivery Hero, Hello Fresh, Zalando, etc. Interviews are usually bizarre, interviewer tells you that they don’t expect much coding at such a top position, therefore you need to implement a complex algo online in 40 min. Logic? No)) Or interviewer comes to design challenge in a bad mood, so you know you failed before the interview started. As result, my pass rate is about 50/50. Of course, you should prepare, but there are many pitfalls you have no influence over.
Challenge designed spontaneously or on a whim = wouldn't pass managerial oversight since the result would be arbitrary, at least not comparable to that of other candidates. But yeah, chances that you get a second chance after making their manager aware are pretty nil.
It does not matter what industry just fire 75% of HR and the skilled Worker Crisis in the West ends. That never ending interview process sounds like unpaid torture.
This experience mirrors almost entirely my experience with my last game dev interview. everything was 100% dandy and smooth until the very last interview. I got a lot of great feedback at the end though.
The track for “just” a senior position is the same. I did sound exhausting when I was talking to a recruiter and your experience confirms this. So I’m flipping the coins now, let Uber be the last one :)
Its gotten way out of control at the big popular tech companies. With this exhaustive testing of areas that areas that are huge it ultimately comes down a lot to luck - did you get an algo question on something that you worked on a lot or not? Did you also happen to have experience with some framework that they throw at you? I remember a really ridiculous interview question on data compression that was basically relying on you knowing that there is a template specialisation for boolean types that stores them as bits. I didnt know that but mustered on using bitwise operators, which is something I very rarely encounter and is just an odd as hell question to use for an interview. The pickiness of the interview questions are just ludicrous these days, guess there are just to many applicants per job for the hot tech companies…
Regarding the interviewer's rudeness - this is not a rudeness. It's just a Dutch cultural trait of being direct and that's fine, just be open-minded and understand that things are as these are :) If you were hired and relocated to Amsterdam then you'd notice this in everyday life - lots of people are freely speaking up their minds. That's just a cultural trait of being direct. At times it might seem rude although that's extremely subjective at tied to a particular individual perceptions and mental model through the lens of the cultural background.
My buddy interviewed with door dash. They were late to the interview. Not my friend. The hiring manager. My buddy stayed in the Interview waiting for 15 minutes.
Technical interviews can be hard as you often have to deal with Lead devs with a certain mindset, this mindset is more often than not very set in their ways, I often ask about their reasoning and see them immediately switch off when a new idea is introduced. Then when asked to elaborate on why they don't think something will work there are often pauses and 3rd party blame like 'I don't think they will go for it'. I was fortunate enough to work with many different lead developers and technical architects who can explain in great detail their reasoning and I have always learned something new from each of them, but there simply are just some devs in companies that have been there for too long, didn't have much of an interview process when they joined and is fine with coasting on what they know and will aggressively push against anything that challenges their comfort zone, those are the companies to avoid.
"Interview was 5 sections, each lasting 60 minutes!" F*** that, I would walk out, that's ridiculous. I bet I can come up with questions the interviewers would be dumbfounded and would crap in their seats
I think they get them or ask the bar raiser interviewer to be like that on purpose. I had 2 bar raiser on 2 different occasions and the interviewer was extremely rude. One of them just ended the call saying I'm not satisfied by this answer and left.
If an interviewer is rude to me that is the best sign I can get that the place isn't a good fit for me. It is one thing to argue about architecture and totally another thing to try to talk down to someone who can't fight back due to being in an interview.
You're becoming our hero Andrey. I've a few questions: 1. BE system design: was it compulsory to be backend or you requested it? Can we select 2 mobile SD interviews? 2. iOS app: They required you to use contact kit or just dummy data? Tech stack is optional? Can you use swiftui/ async-let etc.. ? Pls keep sharing your experiences...
Hey, thanks for the comment 🤟 1. They ask to choose any interesting large-scale project you previously worked on. So you can go with another mobile system design. I decided to go with backend system design because I had a prepared solution. 2. Dummy data. Tech stack is optional. You can use swiftui etc.
I hate solving leetcode style quastion, However I'm good at building things like an app or backend APIS etc... What advice would you give me is it possible to join Meta without leetcode questions?
Unfortunately, for FAANG companies, LeetCode questions are mandatory. At Google, they claim that their internal data demonstrates a strong correlation between a solid performance on algorithmic interviews and subsequent job success
@@O1012-u7q The only reason people do leetcode is because its required to get a job. My guess is 10% of developers like doing leetcode for fun, the other 90% are normal human beings.
I recently had such a similar experience for a senior swe role. Heartbreaking. I had never before spent so much time in an interviewing process, and they told me no after the last possible interview (culture). Now I don't know if I have the guts to keep on trying.
@@xtu373 I didn't enjoy my time at Meta for several reasons. One of them was the unreasonably stressful work environment. After spending over 2.5 years there, I decided to move on and recently joined Bloomberg.
And yet with all this tough interviews and all that the software that comes out still sucks big time. How is that ? I have the Amazon TV Cube and about 1 out of 10 Alexa gets stuck when I tell her to sing a song ... Now if I wanted to get a job at Amazon they'd probably fail me big time and yet ... When I hear about some famous software company I'm like , thanks , I'll pass , the interviews are all hard and full of algos and crap. Why do I need algos ? In my entire software career I've never had to implement one algo really. Even if I would pass what would it be in it for me ? Salaries are not great ( at least in the EU ), expectations are high ... Also there's that stock options for most of them which I don't like ... I will be stuck or lose money if I want to leave
@@EditioCastigata To each his own. I've never done 1 algo as a programmer nor was there ever any need to. All the algos that I needed were already done.
Some advice. Doing coding tests to learn data structures and algorithms is almost exclusively beneficial only if that is what the job requires? Why would you put yourself through so much? It is degrading and at the end of it, maybe work for a company with all manner of issues including using $32 billion of debt over 14 years to finally be profitable? What was the pay?
This is the problem with a lot of these "old" big tech giants like Meta, they started before all the industry standards were developed so they have their own version for everything. It's kinda hard to move from a big company like that to a more modern company, you really have to re-learn everything on your own.
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.
Hey Andrey, I saw the leetcode problems you mentioned and i got confused. Do you have some list of leetcode problems you'll recommend that is less in number but more effective to nail these rounds?
Hey, I would recommend solving 75 leetcode problems. There're lots of different lists. I like this one, it is called Blind75 - leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions
Ive been in such interview, but without the leetcode I had an actual code-challenge which was about the actual job and one where there was no coding test but the interviewer was rude as hell and antagonistic with me. It's like he didn't like me from the start. And his colleague, yes there was a colleague and a SCRUM "Trainer" there, his colleague was barely speaking even when asked to say something. Which was really kinda rude. Like the backend colleague asked the frontend one "you can ask your questions now", "ah, I dont know, how would you structure your css folder". I was blasted, wtf? That's your question? For literally the biggest at the time food delivery app at my country, that was rude as hell to me. It's not like he was testing me, they proved themselves to be just ... rude. And the job was for Backend, but what kind of question was that. Why does it even matter how I structure my CSS folder. It was the rudest most antagonistic interview Ive had, I felt like the dude was trying to fight me but I remained gentle and relaxed
@andrey_tech I should have been more specific. Mobile push notifications - FCM is a popular choice but not sure if companies like Meta use it or have their own infrastructure for this. Let's assume they don't use FCM. Then do the clients use http long polling, keep persistent connections to receive notifications? That would mean millions of persistent connections that the servers need to maintain. What if there are multiple apps(think FB, instagram etc) on a device - would each client open a connection to the server? - which is clearly not scalable Also, what happens in scenarios where the mobile app is killed by the system. How do devices get notifications then?
These people act like they are hiring you to work in a one person office and the fate of the company rest in your hands. If they see the need for your skill and have the ability to grow you internally then make the decision or have the balls to hear it from the deciding panel why you didn't make it.
Hello, I'm sorry to hear that it didn't work out, I wish you good luck in your future interviews. Something I wanted to ask you as a Mobile Developer, is how do you manage to answer or study about backend system design interviews? Because I heard that most big tech ask about backend system design interviews and as a Mobile engineer I know too little. Thank you.
Hi, thanks for the comment. I would recommend reading "Grokking the system design interview" materials. github.com/Nitin96Bisht/System-Design/blob/master/Grokking%20System%20Design%20Interview.pdf
Андрей, привет! Спасибо тебе за контент! 2 дня назад я проходил system design в такой же по размеру компании. Все прошло хорошо, но за два следующих рабочих дня не получил фидбэк (в оба предыдущие этапа ответили максимум на следующий день). Означает ли это, что я уже не прошел?
Привет. Я бы сказал, что два рабочих дня это нормальное время ожидания. Если дольше недели не дают фидбек, то тогда уже шансов маловато. Удачи с результатами!
I absolutely refuse to interview for these mega companies. I’ve been doing iOS for 15 years now, and I know that 80% of the junk they want to interview me on is just CS trivia and junk that has literally never once been relevant in over a decade of Silicon Valley tech startup iOS engineering.
All of this stuff that they asked you to do is ridiculous. This is absolutely a problem with the industry, the fact that a big tech company like Uber thinks that they can push you around and force you to do five different interviews is just a level of absurd that shouldnt exist anymore. I interviewed for this startup, I won't name any names, but they tried to pull the same stuff. The CEO was the guy who was giving the interview and apparently he does all the interviews which is ridiculous to me, but he was such an egotistical dick. He tried to sell working for his company like working for Google or Microsoft and that's how he justified all of the shenanigans. The guy also had the gall to say that I was committing fraud on my resume because he didn't do any due diligence at all. Seriously the guy didn't even look at my GitHub or my portfolio and he accused me of being way too inexperienced to apply for his company even though I have 25 plus years experience in the industry. Once he did that I sent him my full CV and then very politely told him that I would never want to work for him or his company as long as he was the ceo. Then I told him to hire a hiring manager instead of acting like a complete control freak.
incredible that they don't permit the hiring manager to make their own decisions; it's difficult enough to build a great development team without such constraints.
Thanks for sharing! A little controversial, but just wanted to get your thoughts if LLMs like GPT could potentially solve these interview questions in the (near) future?
Such a coincidence I interviewed for the same position Staff Software Engineer, Wallet (Amsterdam) 2 months ago and also didn't get an offer. The overall feedback was mixed but the interview was extremely difficult.
You should refuse any intereview that requires that sort of tests. That's literally free work for them, and disrespect for you. Do yourself a favour devs, don't bite into that sort of thing.
Big Tech interviews are a performing art in their own right. A bit like ballet, synchronised swimming and gymnastics. They have very little to do with the actual work you are being hired for. With high salaries and oversubscribed with candidates they are under no pressure to reform what is a very broken hiring process. If you bomb a Big Tech interview it does not make you a bad engineer at all. In fact you are probably a very good one. It just means you are not very good at ballet, synchronised swimming and gymnastics!! Remember an interview is a two way street. You are also interviewing them. Given the way you were treated it sounds like a toxic culture. Hardly professional at all. By rejecting you, they likely did you a favour. Move on, and don't look back. You have dodged a bullet.
Just a feedback from my side: You could have avoided the negative feedback regarding the architecture, if you would have explained in the beginning why you had chosen this approach. Larger solutions require different, more complex (and more cost intensive) approaches than smaller solutions. You design the architecture for the needs of the solution and for bonus points you could e.g. explain which components (e.g. a load balancer) you included or left out, due to which reasons, after discussing it with the customer.
Hi Andrey. I am an Junior Android Developer and I watch your system design videos. If possible, can u tell us about the way android interviews happens at meta. BTW your videos are good.
Hi, thanks for the comment. Take a look at the "Meta interview story" video. I talk about iOS interview there, but it is very similar for Android. I will try to shoot some videos for Android developers in the future too.
I am a staff software engineer because I have been with the company for like 14 years. I would never pass these interviews. This is scary as hell for me. I have never encountered a problem that even resembles the Leetcode problems.
But he aced that... He failed the practical interview which most people would pass, I'd say he wants to be an educator instead of an engineer if I was interviewing him.
Senior hiring managers were expected to select CV's out of a pile in a FAANG company, all the CV's they rejected turned out to be their own CV's with obvious changes like the name, education and work history so the managers wouldnt recognize them.
Conclusion, they would not hire themselves with their current requirements. The elitism and gatekeeping is off the charts in software.
Do you have a news article link?
The interview process seems broken
@@BillClinton228 funny I wanna read that one link us
It’s silly to reject someone who is a mobile developer for not developing the best system design for a back end. This industry has gotten out of hand.
See there lies the problem. Companies test & hire for 'Software Engineers'. What you have experience in does not matter. You should be a 'Software Engineer' with mobile development experience. Start looking at expertise as an extension not core. At the core everyone should be a 'Software Engineer' which includes being good at the stack or atleast having sound conceptual knowledge. Google 'T shaped skills'.
No he was just incompetent.
Do you know what does staff mean
In a real scenario you will do research to come up with the best design, these system design interviews are stupid. If you don’t recite the exact design they use or have in mind you’ll fail
@zshn. So by your logic it's okay to asks surgeon about psychology? Because, you know, surgeon is just an extension of doctor
No matter your experience level, technical interviews are a nightmare.
Becouse the higher your experience level the higher the bar
Most of them hardcore interview crackers are in hedge fund these days
Especially interviews on Hackerrank, if your application works but not exactly the way HR expects then you have failed. Also most of that questions dont make sense and the examples they give are terrible like arrays or varibles that arent being declare anywhere and having to write api consuming functions without knowing the data structure in the jso, because remember opening a new tab and checking an api json is illegal according to their rules, and googling a problem is out of the questions.
That's why you open gpt4 in another monitor and use a audio to text translator 🫣🫣
You get rejected for these interviews, then you realise the guy that didn't hire you, put a modal over the hamburger menu, so you can't click it 75% of the time...I'm better than most these people
🥲
yup.. the easiest way to get in is to know someone on the inside..
100% issue with the industry is that unless you have been working with their exact stack they see it as a disadvantage. And with so many variations available it makes the entire situation unnecessarily difficult. No other industries work this way. The value is in the individual’s potential over the long term and not in what they can provide within the first 30m on the first day.
I absolutely agree
What’s crazy is that they looked and searched him to recruit him only to deny him. That is just wrong. So I can’t blame him for “picking” the wrong job role. No developer should ever be “ Dinner for Schmucks”.
@@ShopperPlug Amazon does it better. They are trying to screen you out in a phone interview and online code test. Once you get the Amazon loop they think you will pass and it's too confirm it. After all, why spend all the interviewing time (and money) to only reject a candidate?
Interviewed with Uber twice. Both times had to deal with a hostile interviewer. It was clear they didn't want to interview me (or just in general - I know interviewing people can suck if you're doing it a lot). I took the loss as a win that I wouldn't be around someone like that.
There used to be a "no asshole rule" in tech. That idea seems to have been victim to defenestration.
There has never been a “no asshole rule” in tech.
You should try not to be an asshole anywhere but there are always going to be assholes everywhere.
No assholes? Except for Steve Jobs and all the rest?
@@pieflies yes sadly some assholes are too useful to get rid of, or they turn into assholes once they become established and comfortable
Ever posted questions on Stackoverflow? I often wonder how people work with devs like that or if they actually have the stones to be like that in person.
Don’t be the “Dinner for Schmucks“.
Thanks for sharing your experience Andrey.
"There is a price you are paying everytime you are interviewing." 100% true - same experience interviewing for Senior iOS Engineer.
I love how specific you are with the experience, going above and beyond to the leetcode number
Thanks!!
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.
Wow, thanks for the insight!
The industry has undergone a transformation due to ineffective leadership. Even a seasoned Meta iOS developer, exposed to one of the largest mobile app codebases, faces unwarranted scrutiny. Companies often claim they want candidates to succeed, but their actions seem to set them up for failure.
I've had a similar experience in my case, whether it's for a Staff iOS position or even a Senior role. The interview process itself feels like a full-time job.
Thanks Andrey for the video.
unironically, that's one of the reason that i'm consider seriously becoming a farmer
I am a contractor, so I go to these interviews regularly say at least once a year and sometimes interview for 3-4-5 positions at once until find something interesting. A lot of times I can say the interview questions, especially on the algo design side are much much more complex than anything you need to do in the actual work, which is bizarre. I don't understand why I need "google" level engineer skills for an interview, just so I could do boring CRUD style API afterwards. I also think, that people who design these interviews usually work for 10+ years in the firm and hence have never themselves went to interviews. As say one of the questions I was solving, was to right an algorithm to buy/sell stocks for most profit - time limit 10 minutes and unit tests 7 out of 10 are hidden :) Very realistic scenario!
Conclusion would be, keep interviewing and dont feel bad about failing, as there are 1000's of algo questions and only so many you can remember, so a bit of luck is needed. And I know you shouldn't memorise algos, you should learn to solve them, but I would argue within interview time constraints at lot of times that is simply not possible, as usual time limit per question is 15-45 mins, depending on the firm.
As a software engineer with nearly 20 years experience, I did the leetcode grind earlier this year for the first time. The stock algorithm you listed was one of the problems I solved. I already forgot how I solved it and would not pass today unless I had a lot of time. The same goes for leetcode 211 which was mentioned in the video -- I immediately recognized it as a trie data structure but completely forgot how I implemented that.
I would recommend solving leetcode for practice though. It keeps me sharp in the language of choice, and it is great focus on a core problem as opposed to the frequent multitasking and/or context switching we have to do day-to-day in our jobs.
i had a nearly identical experience to your "bar raiser" interview a couple months ago. I thought the guy was trying to test me but realized later he was just being rude and aggressive. Crazy
It happens... Thanks for sharing = )
@@andrey_tech The most important interview question you should answer: when you are so good at a hard interview and they reject you what this means tip - what is the current state of IT industry?
You are better off creating your own company and being a consultant, than chasing these opportunities. Consultants are the highest paid in the industry in most countries.
Good advice, thank you
Consultants still have to sell themselves. But it’s typically to a different group of people within the company.
@@darkopz usually once you have 2 or 3 good clients, the selling takes care of itself, it’s true you have more job security working for someone as they take the risk of keeping work coming in, but that’s also why most consultants make 2-3 years income in one job, so the risk is balanced. Also in the IT Industry consultants only get it right 30% of the time, so yes they fail 70% of the time, try doing that in your usual job. So consultants do less work, are in high demand, earn considerably more, and have a high failure rate.
@dave24-73 Can you point me to any sites or contacts of people you know who have done that? I am actually considering making this move. I have been in software development for years. Even after refreshing all of my skills and slaying interviews, I am constantly passed over. It's been this way ever since the Pandemic. I've always dreamed of getting into the business side of things and selling my services. Now may be the time to make the leap.
@@dchardin1 No idea about cold sales, but it helps having some industry experience and contacts from getting it. Then you're known for something, and the clients come to you with their problems. And you're in a good position to sell to adjacent markets. After 20yrs working, 15 as consultant, I switched to being an employee at megacorp -- were it not for my plan to start my own company, sell a product instead of knowledge or time, I'd become a consultant again no question. And yeah: Everyone and their dog projects their wishes and traumata onto the interview process; most of their staff would fail. The goal is not to discover how much you don't know, after all.
software engineering industry is turning into something to avoid if you wish to keep your mental and physical health
Don't do it in one day. I did it for the Uber staff engg same position. Started at 9 am and ended at around 6. The breaks in the middle did not help me. I was so exhausted and unable to think not mentioning I didn't get a good sleep that day. It was horrific but the interviewers were nice.
Makes sense! Thanks for sharing your experience.
I was in EST timezone. They did gave me an opportunity to split.
I love how thorough you are with the process while being concise. Thanks for the wonderful insight!
Thanks! That's exactly how I like my content
These positions are ridiculously hard to get into. They pay a lot but man what a hassle.
Why do you think they pay so much ☠️
@@arottedfruitright
They don't pay that much really. At least here in Europe.
@therealnotanerd_account2 yea, they don't pay much for css scrubs, if you get past that, they have decent salaries
it's true, Europe is a cheap labor for big tech companies. In the Bay Area they have to pay 250-300k salary, while in Europe 100k is the bar
You know something...? You can make as much money doing plumbing or being an electrician. Screw 'em. I'm 53, and have been working in software and being paid for it since 1988. When I attend an interview, a lot of the people interviewing me weren't even born when I was writing software. There's nothing wrong with that, of course. But a lot of the interviewers aren't interested in _experience_ any more. They are interested in niche, esosteric areas of algorithmic programming and computer science.
I'm not an uber programmer - I've worked with enough of them over the years to know that I'm not. But I have a LOT of experience. More than most. So I know bullshit when I encounter it. The great thing about being my age is, I can call them out on it in interviews and genuinely not care one way or the other what the result of the interview is. So, when given some BS algorithm to write, I like to ask them under what application or scenario such an algorithm would apply _to their business or core application_ . If they can't give me an answer, then I ask them why are they testing applicants on niche areas of knowledge that are not applicable to their core business? I've already lost the job at that point, so I don't care. Like I say, screw 'em. You'll all come to the same conclusion as you get older. Trust me.
Software development is BS on steroids. The majority of software teams are over resourced, and under utilised, with 40 or 50 people being employed to produce bloated, bug-ridden, poor performing software that runs on massively complex, and expensive hardware platforms that a team of 5 guys working in a shed could do a better job of. As you can tell, I'm pretty disillusioned with the software development industry. But again, my opinions are based on my _experiences_ over the last 35 years. And my _experience_ tells me that the software we are writing today consumes 1000x the computing resources of the systems we were using in, say, 1989, and _does nothing that the old systems from the 1980's couldn't do_ - the only difference is the presentation is much nicer these days! It's not even necessarily any faster these days, even on modern distributed hardware platforms. In fact, I'd take a small wager that it is _slower_ . Anyone that's worked in banking applications will know what I mean.
There is a lot of gate keeping during the interview processes I have found senior level engineers want to impose their seniority and whatever their egos feels like.
An older friend of mine with experience says that it's as much of an interview for the company as it is for the worker. If you see that the people are unpleasant, you can say that there is no point in continuing the interview and end it there. He sometimes goes to interviews to see how rusty he is and what are the offerings on the market.
I agree with this approach. Thanks for the comment
You saved yourself from dealing with a code base bigger than the Linux kernel to request a car.😅
Going to say one other thing. I told a friend who is a psychiatrist about a lot of these shenanigans such as agile scrum, hostile interviews, throwing each other under the bus, etc. Her conclusion was that these were terrible on mental health, and in many situations mimicked social experiments. Even in your short account, we can tell you experienced trauma from some of the process - especially the hostile interviewer. It if better to not feed the beast.
Yes but he still needs a job so how to get one without going to experience it again?
@@tongobong1 Don't apply to FAANG or similar companies
Thanks for sharing this, the expectation is perfection just to get in the door these days.
This field is ridiculous. It's like you are being selected to be an astronaut. At the end of the day this is a desk job.
haha love this comment, totally agree
The yearly salary of an astronaut ranges from $104,898 to $161,141 according to NASA. A staff developer may actually have a comparable, if not higher, salary. Therefore, they are entitled to be demanding, I suppose.
@@brinckauno thats not true. an astronaut gets paid higher, one. two, staff developers dont even make 110k.
@@samuraijosh1595 Try to search about this on Google, you will find official sources on governmental websites. An astronaut can get paid higher, but not necessarily. The salary range I mentioned seems to be correct. You can try a similar search for staff developers.
@samuraijosh1595 maybe in India where you are from. But in most places experienced developer can easily break 100k
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😂
This sort of shit is why I've decided to no longer develop my tech career. I'm in a holding pattern in my current job while secretly training/preparing for a career change in my spare time.
And tech is clearly not safe anymore with layoffs of HUGELY competent people, left and right and up and down. I'll never be as good as those people being fired right now. Screw it, I see no future in tech, it no longer interests me and I've had enough.
If you are going to get passed-on, then this is the way to do it. I have a feeling that they were very close to bringing you on. I am currently aspiring to get to your level but I am not there yet.
Yeah probably. I hope you succeed!
“Passed on “😂😅
If doing iOS UI, especially under time pressure, SwiftUI is the only answer. Bringing up a Storyboard should be an immediate disqualifier. Thanks for sharing your experience!
First time at this channel, I like how positive your mindset is Andrey! Bad interviews often destroy a person's courage. One question though, I believe you've made a couple of switches between companies in your career. Do you believe long notice periods have an effect on whether or not you'll be hired at the place you're being interviewed at?
Hello, thanks for the comment! It depends on the company and the urgency of the particular position. Big tech companies usually move slower, and they typically don't mind a 1-2 month notice period. Startups and smaller companies, on the other hand, might be more inclined to seek someone to hire as soon as possible.
So let's see, the two interviewers who didn't like you...
One expected you to hit the ground running on a very domain specific thing under extreme time pressure. An engineer at your level (new viewer but you seem competent and got in the door for a staff interview to begin with) can be trained up on that stuff in a couple days, and building a working UX in 50 minutes is a bit crazy regardless.
And for backend design, can't say whether the interviewer was right on technical issues not knowing the specifics, but he sounds like kind of an asshole.
Maybe you dodged a bullet.
Thanks for the comment! Yeah, You're right. I'm not trying to justify a bad feedback in this video, I just wanted to show a real picture of how the interviews are going and what to expect
I can program an entire game system in 2 days.
I'll spend a week designing the UX.
50 minutes? Seems like they're seeking an emergency role for when they botch something worldwide and need you to save the company.
sometimes when faced with someone more qualified than they are, they have no choice but to rig the interview... that or the role was intended for outsourcing
Harsh reality of any iOS interview is that you need to prepare a lot for the first type of question. That is standard.
The BE architecture Bar Raiser seemed to maybe in a bad mood - that's just bad luck.
I speak from my experience of working in a medium-sized company, where there are 7 Senior developers per 1 Staff member, and no one was promoted at the end of the year. You are applying for a position that is being applied for by many other Senior developers who have already worked for many years at Uber and know everyone about it. To be hired, you had to be absolutely perfect. It seems to me that only “stars” get such interview positions.
Of course, they don’t want you to spend two weeks learing on the job. Thats too expensive. They rather have 5 people spend a month looking for the candidate who can land on his feet running at the job.
ahahah
please guys : reject abusive conditions and demands. It's just about demand and supply.
Hello, Andrey! If you want to find any ideas for video, pls make one more video about system design interview for app like e-payments. Looking forward for your reply!
Hey, thanks for the idea! =)
It’s crazy how much time is wasted at these companies on both sides… imagine spending 1 full day+ across loads of people for every job opening… and many of these companies tend to have high turnover rate
True. Most Google employees quit after 1.1 years (on average)
@@andrey_tech I've known/met many of them. The common complaint is that they're either let you go for reasons like you not being a "good fit" ie they want you to think and talk like them, or they quit due to being overworked as the demands are incredibly high and many times completion unreasonable expectations in result.
the cost of working with a bad hire is much worse imo
Still the pay is no where close to what a plumber or electrician makes. It's getting ridiculous. Software industry is an over saturated field with extremely talented people available on the market thus the companies can torture us like racing horses or better like greyhounds. I have been working 20 years as a SWD, once a person works for 2-3 years in the same company, the focus is 98% on that company business domain, everything else get forgotten or rusty at best. I'm surprised you did that well.
Who cares? Software is not even cool anymore. Can't wait to transition into a grown up field.
@@nhanimaah786you cared enough to comment, you cared enough to be in software too.
Grow up, kid
@@nhanimaah786 Who cares? Generations of people who have invested decades in software education as well their careers. Cool is subjective, mostly for not grown up adults, the compensation on the other side though, it is not subjective, it's easily a measurable artifact.
@@gencymeri8770 okay cool then keep up the chase and stop complaining. Go for those rounds of interviews apply for 5000 jobs and get ghosted. The truth is software devs are not special anymore and companies know this. They know they can ask you for 9 rounds of interview and if you do not do it, there are tens of thousand others willing to do it. It is obviously a dying field. Nearly a million people laid off in the bast 18 months. The job market for software is a mess. This is why I advise younger ones to learn blue collar skills or get a job in the medical / health care field. The demand there is crazy. I know many people with computer science degrees from great universities who cannot even get a basic dev job. Software dev is an overrated garbage job.
@@nhanimaah786 You are swinging your position way too much. Now you made some valid points which I already addressed in my first original comment.
I am a principal engineer, time to time I go to interviews to other companies like Delivery Hero, Hello Fresh, Zalando, etc.
Interviews are usually bizarre, interviewer tells you that they don’t expect much coding at such a top position, therefore you need to implement a complex algo online in 40 min. Logic? No))
Or interviewer comes to design challenge in a bad mood, so you know you failed before the interview started.
As result, my pass rate is about 50/50.
Of course, you should prepare, but there are many pitfalls you have no influence over.
True! Thanks for the comment
Challenge designed spontaneously or on a whim = wouldn't pass managerial oversight since the result would be arbitrary, at least not comparable to that of other candidates. But yeah, chances that you get a second chance after making their manager aware are pretty nil.
It does not matter what industry just fire 75% of HR and the skilled Worker Crisis in the West ends. That never ending interview process sounds like unpaid torture.
*skilled worker crisis in the world ends
This experience mirrors almost entirely my experience with my last game dev interview. everything was 100% dandy and smooth until the very last interview. I got a lot of great feedback at the end though.
The track for “just” a senior position is the same. I did sound exhausting when I was talking to a recruiter and your experience confirms this. So I’m flipping the coins now, let Uber be the last one :)
Its gotten way out of control at the big popular tech companies. With this exhaustive testing of areas that areas that are huge it ultimately comes down a lot to luck - did you get an algo question on something that you worked on a lot or not? Did you also happen to have experience with some framework that they throw at you? I remember a really ridiculous interview question on data compression that was basically relying on you knowing that there is a template specialisation for boolean types that stores them as bits. I didnt know that but mustered on using bitwise operators, which is something I very rarely encounter and is just an odd as hell question to use for an interview. The pickiness of the interview questions are just ludicrous these days, guess there are just to many applicants per job for the hot tech companies…
Yeah, that's a really strange interview question!
I wouldn’t lose any sleep over not ending up in Uber..
Of course, I just wanted to share my experience, maybe it will be useful to someone
Regarding the interviewer's rudeness - this is not a rudeness. It's just a Dutch cultural trait of being direct and that's fine, just be open-minded and understand that things are as these are :) If you were hired and relocated to Amsterdam then you'd notice this in everyday life - lots of people are freely speaking up their minds. That's just a cultural trait of being direct. At times it might seem rude although that's extremely subjective at tied to a particular individual perceptions and mental model through the lens of the cultural background.
Thanks for the comment! I agree 😌
Amsterdam is awesome, btw
@@andrey_tech yes, exactly! :)
BEWARE: The harder the interview the smaller is a chance of getting the job. I decline the invitation to interviews that are hard.
My buddy interviewed with door dash. They were late to the interview. Not my friend. The hiring manager. My buddy stayed in the Interview waiting for 15 minutes.
I interviewed for a place a month ago they are just getting back to me now...to setup another interview.
Technical interviews can be hard as you often have to deal with Lead devs with a certain mindset, this mindset is more often than not very set in their ways, I often ask about their reasoning and see them immediately switch off when a new idea is introduced. Then when asked to elaborate on why they don't think something will work there are often pauses and 3rd party blame like 'I don't think they will go for it'. I was fortunate enough to work with many different lead developers and technical architects who can explain in great detail their reasoning and I have always learned something new from each of them, but there simply are just some devs in companies that have been there for too long, didn't have much of an interview process when they joined and is fine with coasting on what they know and will aggressively push against anything that challenges their comfort zone, those are the companies to avoid.
if big tech is so peaky why the hell their products suck that much?
@@johnlime9065 yeah, kids that can solve problems only if they have to team up with themselves and only themselves
"Interview was 5 sections, each lasting 60 minutes!" F*** that, I would walk out, that's ridiculous. I bet I can come up with questions the interviewers would be dumbfounded and would crap in their seats
lol
I think they get them or ask the bar raiser interviewer to be like that on purpose. I had 2 bar raiser on 2 different occasions and the interviewer was extremely rude. One of them just ended the call saying I'm not satisfied by this answer and left.
Thanks for sharing your experience!
Wish you success in landing the dream job
Thanks 👍
The dream "job" is working for yourself
Бери ношу по себе, чтоб не падать при ходьбе :-)
If an interviewer is rude to me that is the best sign I can get that the place isn't a good fit for me. It is one thing to argue about architecture and totally another thing to try to talk down to someone who can't fight back due to being in an interview.
Makes sense
Please make some course of data structures and algorithms in Swift
Hey, thanks for the comment. Maybe in the future.
Btw, take a look at this repo - github.com/kodecocodes/swift-algorithm-club
You're becoming our hero Andrey. I've a few questions:
1. BE system design: was it compulsory to be backend or you requested it? Can we select 2 mobile SD interviews?
2. iOS app: They required you to use contact kit or just dummy data? Tech stack is optional? Can you use swiftui/ async-let etc.. ?
Pls keep sharing your experiences...
Hey, thanks for the comment 🤟
1. They ask to choose any interesting large-scale project you previously worked on. So you can go with another mobile system design. I decided to go with backend system design because I had a prepared solution.
2. Dummy data. Tech stack is optional. You can use swiftui etc.
Gatekeeping, B-players hiring C-players... browse any corporate org chart and patterns emerge
What do you recommend for preparing iOS System Design questions?
Check out my videos on iOS System Design, I have many of them
Also, take a look at this repo - github.com/onmyway133/awesome-ios-architecture
I still remember that interview where they were looking for a data scientist yet almost all questions were about pure software development.
I hate solving leetcode style quastion, However I'm good at building things like an app or backend APIS etc... What advice would you give me is it possible to join Meta without leetcode questions?
Unfortunately, for FAANG companies, LeetCode questions are mandatory. At Google, they claim that their internal data demonstrates a strong correlation between a solid performance on algorithmic interviews and subsequent job success
But I agree with you, sometimes leetcode questions are frustrating 😄
@@andrey_tech from where did you learn obj-c and objc c++?
This is like an electrical engineer hating circuit diagrams. You might be in the wrong career.
@@O1012-u7q The only reason people do leetcode is because its required to get a job. My guess is 10% of developers like doing leetcode for fun, the other 90% are normal human beings.
😆 "i had flashbacks to those hello world days, but this time the world was not that friendly"
Which programming language did you use for leetcode problems?
Swift ofc =)
Had a interview with snap for iOS. At Leas Uber asked you to code something in iOS, snap was only hard lvl leet code questions 😢
Wow interesting! Same thing at Meta actually..
I recently had such a similar experience for a senior swe role. Heartbreaking. I had never before spent so much time in an interviewing process, and they told me no after the last possible interview (culture). Now I don't know if I have the guts to keep on trying.
Wow that's sad! =(
Take a break. After that keep on trying...
you should wait for better times.
Why you left Meta? That's the company i want to work for. What are pros and crons working at Meta for Software devs?
Oh, it's a long story... I think I'll make a video about it later.
@@andrey_tech Maybe you can tell in short here
@@xtu373 I didn't enjoy my time at Meta for several reasons. One of them was the unreasonably stressful work environment. After spending over 2.5 years there, I decided to move on and recently joined Bloomberg.
@@andrey_tech was it because of the visa? Please make video on it
Do they pay for 6 7 days of interviewing you for a position that they can hire and fire next day?
I wish.. haha
Very helpful explanation. Thank you very much. I'll follow you.
And yet with all this tough interviews and all that the software that comes out still sucks big time. How is that ? I have the Amazon TV Cube and about 1 out of 10 Alexa gets stuck when I tell her to sing a song ... Now if I wanted to get a job at Amazon they'd probably fail me big time and yet ...
When I hear about some famous software company I'm like , thanks , I'll pass , the interviews are all hard and full of algos and crap. Why do I need algos ? In my entire software career I've never had to implement one algo really. Even if I would pass what would it be in it for me ? Salaries are not great ( at least in the EU ), expectations are high ...
Also there's that stock options for most of them which I don't like ... I will be stuck or lose money if I want to leave
I'm staff-level and do a lot of algorithms, data structures. For frontend and device QA we've other people.
@@EditioCastigata To each his own. I've never done 1 algo as a programmer nor was there ever any need to.
All the algos that I needed were already done.
Some advice. Doing coding tests to learn data structures and algorithms is almost exclusively beneficial only if that is what the job requires?
Why would you put yourself through so much? It is degrading and at the end of it, maybe work for a company with all manner of issues including using $32 billion of debt over 14 years to finally be profitable? What was the pay?
Ty for sharing your experience , i loved your video and overall attitude
Thank you for such a fair story. Good luck next time!
This is the problem with a lot of these "old" big tech giants like Meta, they started before all the industry standards were developed so they have their own version for everything. It's kinda hard to move from a big company like that to a more modern company, you really have to re-learn everything on your own.
Absolutely true! 100%
Did you used swift for algorithm? or any other programming language Thanks
Yes, Swift
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.
Sir do you earn 200k pound sterlings a year in uk? Plz reply. Thanks a lot.
Thanks Andrey, great video. I think all of us have had negative interview experiences. Sigh.
Hey Andrey, I saw the leetcode problems you mentioned and i got confused.
Do you have some list of leetcode problems you'll recommend that is less in number but more effective to nail these rounds?
Hey, I would recommend solving 75 leetcode problems. There're lots of different lists. I like this one, it is called Blind75 - leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions
Ive been in such interview, but without the leetcode I had an actual code-challenge which was about the actual job and one where there was no coding test but the interviewer was rude as hell and antagonistic with me. It's like he didn't like me from the start. And his colleague, yes there was a colleague and a SCRUM "Trainer" there, his colleague was barely speaking even when asked to say something.
Which was really kinda rude. Like the backend colleague asked the frontend one "you can ask your questions now", "ah, I dont know, how would you structure your css folder". I was blasted, wtf? That's your question? For literally the biggest at the time food delivery app at my country, that was rude as hell to me. It's not like he was testing me, they proved themselves to be just ... rude. And the job was for Backend, but what kind of question was that. Why does it even matter how I structure my CSS folder.
It was the rudest most antagonistic interview Ive had, I felt like the dude was trying to fight me but I remained gentle and relaxed
Just curious, aren’t you concerned that your current employer may find out that you are interviewing?
Thanks for the comment. I've already left Meta
The main lesson to learn is this: hard interview means a lot of people are competing for the job.
Oh wow, I’m glad I’ve found your channel. ❤ new subscriber
Cool! Thanks =)
After working at FAANG, I don’t think I will go to another.
Which company you work at?
I recently discovered your channel and I am loving your content. Would it be possible to do a video about designing a notification system?
Hey, thanks for the message. What kind of notification system? Push-notifications? Pub/sub?
@andrey_tech I should have been more specific.
Mobile push notifications - FCM is a popular choice but not sure if companies like Meta use it or have their own infrastructure for this.
Let's assume they don't use FCM. Then do the clients use http long polling, keep persistent connections to receive notifications? That would mean millions of persistent connections that the servers need to maintain. What if there are multiple apps(think FB, instagram etc) on a device - would each client open a connection to the server? - which is clearly not scalable
Also, what happens in scenarios where the mobile app is killed by the system. How do devices get notifications then?
@@theolivebella Ok, thanks, now I understand the question. Yeah, interesting problem. I'll come back later to this one.
These people act like they are hiring you to work in a one person office and the fate of the company rest in your hands. If they see the need for your skill and have the ability to grow you internally then make the decision or have the balls to hear it from the deciding panel why you didn't make it.
Hello, I'm sorry to hear that it didn't work out, I wish you good luck in your future interviews.
Something I wanted to ask you as a Mobile Developer, is how do you manage to answer or study about backend system design interviews? Because I heard that most big tech ask about backend system design interviews and as a Mobile engineer I know too little.
Thank you.
Hi, thanks for the comment. I would recommend reading "Grokking the system design interview" materials.
github.com/Nitin96Bisht/System-Design/blob/master/Grokking%20System%20Design%20Interview.pdf
From where did you learn obj-c and obj-c ++
When I started learning iOS development 10 years ago, there were no Swift yet 😄 Hence I learned Objective-C.
@@andrey_tech how you learn that books?
@@xtu373 Books + Information online
Андрей, привет!
Спасибо тебе за контент!
2 дня назад я проходил system design в такой же по размеру компании. Все прошло хорошо, но за два следующих рабочих дня не получил фидбэк (в оба предыдущие этапа ответили максимум на следующий день). Означает ли это, что я уже не прошел?
Привет. Я бы сказал, что два рабочих дня это нормальное время ожидания. Если дольше недели не дают фидбек, то тогда уже шансов маловато.
Удачи с результатами!
I absolutely refuse to interview for these mega companies. I’ve been doing iOS for 15 years now, and I know that 80% of the junk they want to interview me on is just CS trivia and junk that has literally never once been relevant in over a decade of Silicon Valley tech startup iOS engineering.
Totally makes sense. Thanks for sharing
All of this stuff that they asked you to do is ridiculous. This is absolutely a problem with the industry, the fact that a big tech company like Uber thinks that they can push you around and force you to do five different interviews is just a level of absurd that shouldnt exist anymore. I interviewed for this startup, I won't name any names, but they tried to pull the same stuff. The CEO was the guy who was giving the interview and apparently he does all the interviews which is ridiculous to me, but he was such an egotistical dick. He tried to sell working for his company like working for Google or Microsoft and that's how he justified all of the shenanigans. The guy also had the gall to say that I was committing fraud on my resume because he didn't do any due diligence at all. Seriously the guy didn't even look at my GitHub or my portfolio and he accused me of being way too inexperienced to apply for his company even though I have 25 plus years experience in the industry. Once he did that I sent him my full CV and then very politely told him that I would never want to work for him or his company as long as he was the ceo. Then I told him to hire a hiring manager instead of acting like a complete control freak.
incredible that they don't permit the hiring manager to make their own decisions; it's difficult enough to build a great development team without such constraints.
What is your linkedIn?
Thank you for this video so much Andrey Tech!
Thanks for sharing! A little controversial, but just wanted to get your thoughts if LLMs like GPT could potentially solve these interview questions in the (near) future?
They can solve interview questions right now, but you can't use them in an interview 🙃
Such a coincidence I interviewed for the same position Staff Software Engineer, Wallet (Amsterdam) 2 months ago and also didn't get an offer. The overall feedback was mixed but the interview was extremely difficult.
Interesting! Good luck with your future endeavors +)
When I hear someone saying "I am super excited" in any work related context I immediately lower my expectations.
= )
You should refuse any intereview that requires that sort of tests. That's literally free work for them, and disrespect for you. Do yourself a favour devs, don't bite into that sort of thing.
Big Tech interviews are a performing art in their own right. A bit like ballet, synchronised swimming and gymnastics. They have very little to do with the actual work you are being hired for. With high salaries and oversubscribed with candidates they are under no pressure to reform what is a very broken hiring process. If you bomb a Big Tech interview it does not make you a bad engineer at all. In fact you are probably a very good one. It just means you are not very good at ballet, synchronised swimming and gymnastics!! Remember an interview is a two way street. You are also interviewing them. Given the way you were treated it sounds like a toxic culture. Hardly professional at all. By rejecting you, they likely did you a favour. Move on, and don't look back. You have dodged a bullet.
Thanks for the comment! Totally makes sense
Yeah if you fail the contact list ,it looks bad.very bad that is like the first project along with the menu app in all swift books.
Just a feedback from my side: You could have avoided the negative feedback regarding the architecture, if you would have explained in the beginning why you had chosen this approach. Larger solutions require different, more complex (and more cost intensive) approaches than smaller solutions. You design the architecture for the needs of the solution and for bonus points you could e.g. explain which components (e.g. a load balancer) you included or left out, due to which reasons, after discussing it with the customer.
Hi Andrey. I am an Junior Android Developer and I watch your system design videos. If possible, can u tell us about the way android interviews happens at meta. BTW your videos are good.
Hi, thanks for the comment. Take a look at the "Meta interview story" video. I talk about iOS interview there, but it is very similar for Android.
I will try to shoot some videos for Android developers in the future too.
@@andrey_tech Thanks for your advice. 👍
3:05 As someone going through interviews right now, what you said made me laugh and it is so relatable lol
Great video - Thanks for sharing your experience!
Thanks