Finished the full Android E6 loop with Meta this week. Originally recruiter reached out with E5 in mind, and I was considering it. After a pretty lengthy conversation, recruiter was convinced that I should instead go for E6. I have been doing Android since 2010/11 and have worked on a small team of 2 people to large teams of around 300 mobile team, leading teams/projects. So, recruiter thought everything looked pretty strong. I asked to setup phone screen in a couple of weeks. Grinded some leetcode. Got 2 medium level questions, nailed them both, and I got response literally 30 minutes after the interview from recruiter saying that I did great, and when I can do onsite. I asked another 2 weeks, which was a couple of days ago. Interview was 2 sys design, 2 coding, 1 behavioral. I honestly have no idea how any of them went. Lol. Here is what happened in them in order: Sys design 1: Asked me to build something (SDK/library) for Android that I had never in my worked on. Interesting problem. Built out high level diagram, thought though the problem, dove really deep into one part of it. I pretty much drove the entire thing, and probably talked through 90%. Occasionally interviewer would ask a question, or point out something in my design, that I gave a second thought. One of them turned out to be an issue in my design, which I identified myself, and proposed a solution. Interviewer simply just said "Yep, that sounds good." Ended interview with some QA. No idea how this went. Behavioral: Pretty standard questions. Interviewer had some long pauses between the questions, which felt like they were thinking about questions to ask. Got zero read from the interviewer about how this was going, but I had plenty of real scenario to give examples of. The only thing that stood out to me in this interview was the fact that all questions were only about negatives: Talk about project you failed, talk about when you had hard time working with co-worker etc. Coding 1: 2 Medium level leetcode again. Came to optimal solution on both problems with about 10 minutes to spare but stumbled a bit in my second problem when debugging. Identified the issue, reasoned about why that issue exists, and proposed the correct solution. I think this was solid. Coding 2: Another 2 set of medium questions. I explained the first problem correctly, and interviewer said that was the optimal solution. After writing the solution I realized a bug in the code myself when running through test case. It turned out to be tricky to write than originally anticipated. I gave a solution to make it super easy, but also proposed another more correct way to do it. Interviewer wanted to go that route. Figured it out, and fix it up. Interviewer asked in the end, if there was anything else for me to change, and said that code looks good, and algo is optimal. Second problem only had 15 mins or so left, but I nailed that one. Came to optimal solution in 2 minutes, wrote code in next 5 minutes, walked through the test case in next 3 minutes. We had 7 minutes or so left for QA. Interviewer said, "stop thinking about this interview, and clear your head and before you head to the other interview". Sys design 2: Familiar problem, design some core facebook/insta like feature with UI components this time. Just like last one, this was also entirely driven by me. Talked for 35 minutes almost continuously. Every few minutes, I would check with the interviewer if everything is looking good, and making sense. Interviewer would just "mmhmm", and nod. I dove super deep into the most complex part of the problem, and explained another part in 5 minutes or so I had left in satisfactory depth. Interviewer was pretty happy to talk during QA, and had a pretty pleasant conversation. Again, no idea how the interview itself panned out. This was day before yesterday. Recruiter asked my ex-colleague, whom I used to mentor 3 years ago, who is currently at Meta, to write reference for me yesterday apparently. I've been told that I will get response on Wednesday next week because that is when they are finishing up their discussion. What do you guys think? I honestly have no idea, because I had never really considered any FAANG interview before, and this was pretty unreadable interview experience. I'm pretty happy where I'm right now, and do not need any change, but if things are positive, I would definitely consider E6. TC: 380K YoE: 14 Update: passed! Moving to team matching #swe #meta #onsite #e6 #facebook
Looks great as per the post. Congratulations!! How did you prepare for Android system design questions ?
Here's hoping... For android system design, I'll just copy what I said in my other comment: For SD, watched any or all mock interviews I could find on YT. Also brushed up all of the concepts of Android, plus API plus general backend. But the most helpful thing was leaning into my experiences to explain why something would work or not work
They ask for references?
They do, yeah, if you have one
Update?
Just heard back. Passed. Moving to team matching!
Awesome congratulations! Just curious how team matching works for SWE Android roles? Did you select your team?
Congrats on your offer! I’m doing a similar loop for an e5 in two weeks. Do you remember the categories of LC questions they asked? Trying to figure out if I need to study things like DP and bit manipulation or just focus on core DSA
Sounds pretty good and positive. How did you prepare for the interview?
Hoping it was perceived positive. Basically grinded leetcode with mostly hard problems, and after solving them tried to find alternative ways to solve them to, looking at other submissions. Helped a lot to think in different ways. For SD, watched any or all mock interviews I could find on YT. Also brushed up all of the concepts of Android, plus API plus general backend. But the most helpful thing was leaning into my experiences to explain why something would work or not work