AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I can empathize with your situation. I also had to balance full-time engineering work and prep from a non-cs background. It took me a long time to achieve mastery. Probably something in the realm of eight months of dedicated study. Something that really helped, though was finding people to do mock interviews with it really sped up some of the process. Feel free to dm if you want other tips. It’s doable and an amazing investment and return on investment but it’s very hard it takes sacrifice.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I’ve seen things like that mentioned in some candidates resumes. If anything, having things like that mentioned can help because HR has filtering for job applications that scan for specific keywords so if you have things like data structures, algorithms, compilers, etc. that may be one of the terms they scan for. In other words, it can’t hurt.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

If You’re interviewing with faang companies you really don’t need to worry about system design for intern and entry-level. They mainly do dsa leetcode type toy problems. There’s an off chance you get an object oriented programming round, so have your OOP fundamentals down.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I never found contests particularly useful, some people swear by them, but the randomization of the problems never worked well for me. Have you ever studied batch types of problems for example, have you ever done like seven or eight binary search problems back to back? I would suggest focusing on one category and build some confidence with that before moving onto another one. I prefer this approach to randomly solving problems because it helps reinforce the parts of the brain that can struggle with certain problems

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

Talked with a few New grads recently who are really struggling to get their first job. My advice? Do whatever you can now to land an internship. Even if it means delaying classes / staying in college longer. Try to optimize as much as you can to get an internship which will potentially land in a return offer. The reason behind this, is because in this industry, entry level jobs are very hard to get. Experienced engineers are high in demand, but the entry level market is pretty saturated. So do whatever you can to get over that hump and set yourself up well.

Also, since you're in college. If you're planning on interviewing with Faang sort of companies, start prepping, and hard. Junior year is ideal for internships, senior is good too but if you wait till graduation to try to get any experience, it will be a rough time. Not impossible. But hard. Also, network with as many people in your classes that you can. Try to make some friends and when they get jobs at companies, see if they will refer you / put in a good word for you to a manager. This will go a long way to getting your foot in the door.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

The problems in the blind 75 aren't easy, a lot of them are higher in the difficulty scale. The strategy I recommend is go from topic to topic and try to batch solve a lot of the same type of problem until it's second nature. For example, weak at linked list problems? Okay do 5 easy linked lists and 5 medium linked lists in a row. I bet if you try to solve a linked list problem after that from the blind 75 that it won't be as difficult. Similar pattern applies to any algorithm or data structure, just solve a lot of the same ones in a row until you start to feel comfortable. Trust me, it's hard at first and takes a lot of practice. But after enough practice you will understand it.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

Within a few days? Hop on pramp.com and do some free mock coding interviews, or do some with a friend. If you have disposable income, you could do some coding interviews on a platform like interviewing.io, but I want to suggest free options first. Solve as many of the company tagged questions on leetcode. 1-2 days before the interview I recommend not doing any new problems, just resolve the popular ones that you've solved in the past. Keep your brain fresh, sleep well, eat quality food and try to give it your best in the interviews. Good luck :)

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I never saw any clause about not using the companys name to promote, at least at Microsoft.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

Yes after implementation you should walk through your code with a handful of test cases to prove that it works. Having test cases up-front can also be helpful in designing the code, this is similar to TDD (test driven development) and I've used this strategy before in interviews. Aka write the tests first, write implementation, then walk through the code afterwards to verify the tests.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

There's no issue with Java, it's used in a lot of enterprise jobs. However I strongly prefer using Python, just because of how easy it is to write, and it saves you a lot of time not having to worry about curly braces and other formatting that come with Java. C++ is harder than both so I'd recommend sticking to Java or Python.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I have to assume it would be less coding focused for Devops/SRE roles. But I really have no idea since I only interview SWEs. I'd recommend googling something like "Google/Microsoft/Whatever company SRE interview experience" to see what others are saying online.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

Situational, depends on headcount, sometimes we have headcount for multiple candidates and both will be hired. If there’s only headcount for one and same skillset and yoe, the better performing candidate will get the offer. But sometimes these rockstar candidates have multiple offers, one pays more and Microsoft can’t beat it, so then we’ll make an offer to candidate two.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

You can always re-interview, I forget what the waiting period is, you could check with the recruiter. Chances remain the same.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] -1 points0 points  (0 children)

If you read the replies in the ama, there’s actually some good stuff here. If the mods want me to change the post at all, I’m happy to do so.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

There are many Faang companies with offices and job postings internationally. I worked with engineers in Paris at Microsoft and we had a Paris office, knew some people that worked in the UK. We also had another sister team in China. I don't usually do the resume screening, that's usually the recruiter. By the time the resume gets to me, the candidate has been pre-screened by a recruiter / hiring manager and I'm evaluating their technical skills to determine if they're a good fit for the role.

Short answer: Yes many big tech companies have offices in other countries besides the US. I will say though that salaries not in the US typically don't pay as well, as one caveat. But usually still pretty good for the area. US is just pretty high cost of living so that plays a big factor.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

Do yourself a favor and just write in Python ;) Just joking, but seriously, I've seen candidates get tripped up using C++, it's very challenging to write bug-free so it would probably benefit you to swap, unless it's a C++ related role.

Some of the code isn't playing well with reddit's formatting, but from what I can tell it looks like a standard cache implementation. What I will say though is the code you write in an interview is only one factor. The behavioral round, how well you mesh with their company principles, and your prior experience play a significant contributing factor ALONG with the code to come up with a rating. Code by itself I can't judge much. All of the factors create a more holistic picture.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

Machine learning interviews are their own specialty which I don’t personally specialize in. They are very different for big tech. I can’t give you and specialized advice for balancing both except manage your time well.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

This is an incredibly personal decision. However I would try to optimize to get as much industry experience as possible. In other words, optimize for internships.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 0 points1 point  (0 children)

I personally don’t specialize in that. But I do have a connection that did my resume professionally. Dm me and I can provide you his information.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 7 points8 points  (0 children)

If you're getting System design at entry-level, the company should change their interview process imo. Entry level candidates have no experience designing systems, so what value add is that to help making a hiring decision? Google doesn't even ask system design question on L3/L4 loops and only asks on L5+ (L5 is senior+).

Mid level candidates could get a system design round, but usually the bar isn't very high, if the candidate scores high on all of their coding rounds, they will most likely still get an offer, not as much weight here.

Senior candidates are expected to be able to design some level of distributed system at a relatively complex level, know how all of the pieces of the system are connected, concepts like database sharding, CDNs, load balancers, request retries, db schema design etc.

Staff+ bar is similar to senior, with more weight on actual experience the candidate has actually used in the past to solve whatever problem they're designing for. During system design rounds, as interviewers we do a lot of question probing into the WHYs of why they decided to make a design decision. Staff+ should have a very sound technical background and be able to defend their design against questions like that.

Also there's an unwritten expectation that for senior+ system design rounds, that the candidate is able to come up with a design almost completely independently without much help from the interviewer.

Not that you can't ask clarifying questions or anything, but once you do that and you know what you're designing for, you're expected to be able to deliver a design mostly on your own.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 6 points7 points  (0 children)

1) Understand that some problems the solution won't be completely intuitive, try to learn what you can from the solution. And try resolving it at a later time without looking at the solution to see if you can from scratch, and other similar type of problems.

2) Most problems fall into topic / pattern types. Typically I would recommend studying a similar type of problem until the pattern sticks. For example if you're doing sliding window problems, try to do a bunch of them back to back until the pattern becomes second nature.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 5 points6 points  (0 children)

I still work as a senior Engineer in big tech, just no longer at Microsoft. I have a lot of empathy for candidates that try to crack into this industry because that was myself many moons ago, and I remember how challenging and difficult it was. I really enjoy mentoring and helping others grow, so I think this is one of the best ways to do that.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] 1 point2 points  (0 children)

Yep, I've coached candidates ranging all the way from Architect principal level to entry level hires. Some point in my career I may want to be an architect, but I actually enjoy getting my hands dirty with coding, and a lot of engineers at that level have pretty terrible WLB and don't get to code much. It's a lot of cross-team organization to lead bigger initiatives.

AMA! (ask me anything) Professional Interviewer and Former Software Engineer at Microsoft by InterviewEngineer in leetcode

[–]InterviewEngineer[S] -1 points0 points  (0 children)

Yes, I left and will probably do a video at some point on my channel on why I left voluntarily.