Discussion · Interview

My Data Engineering Interview experience in Bay Area

←

My Data Engineering Interview experience in Bay Area

CarmenPearce_309·

Me: 31, Bay Area, MBA from unranked school, BS in Management: 10 YOE although only 7 YOE Data Engineering.

TC Prior to Job Search: 210 (160 base, 24k annual bonus, 25k annual RSU)
TC After Job Search: 293 (210 base, 21k bonus, 62k in annual options value). Company values annual options at 125k a year, not certain I believe that so cutting it in half to 75k.

How I practiced:
Python: I did all the questions here https://codingbat.com/python to begin. And
also took this course https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513 + read Cracking the Coding Interview (although I was not excellent at actually doing the questions)

Leet code premium each week day for about 30 min. I would do python one day and SQL the following. At initial I was really bad at even the easy python, so I would just read other peoples answers to understand and come back later.

What I needed to realize:
For SQL I definitely needed to realize how to do grouping, aggregation, use HAVING, windows, do a SUM on a CASE Statement, and do inner/left/self joins. Be comfortable with using sub queries/CTEs.

Big O Notation. You need to know how to calculate time complexity, and one interview questioned about space complexity. Disney + also expected me to realize the complexity of the python .sort()

For python it was a ton of list and dictionary based questions. Be certain you can do most Leetcode easy in 5-10 min and medium in 30 min. I skipped a lot of binary tree related problems, and linked list only came up once (Disney +)

Kimball Database design, this came up on 2-3 interviews. I read “Agile Data Warehouse Design” and “The Complete Reference Star Schema”

Companies I interviewed with:
• Apple (Data Eng) - Rejected after onsite
o First call with recruiter: Normal earn sure you are a reasonable human, non technical.
o Tech screening: SQL and python problems on coder pad. SQL medium, Python Easy. This was super fast paced. I lost some time since I didn’t see I ended. to cast a value to decimal(10,2) before adding it to a different value
o Onsite:
 30 min behavioral interview
 An awesome lunch with a friendly Data Engineer
 Other interviews were on the whiteboard, SQL, Python and database design (Kimball method). There is a bunch of info on these interview son dd and glassdoor, it was all fairly accurate. The one thing I found odd is the speed at which answers were expected. I should have talked out loud more, but I felt a number of interviewers pushed to hints while I was still thinking. It didn’t seem they wanted an optimal response at all, just a brute force one (Ie multiple sub queries instead of building a better single query). Python was a bit tough as it was more focused on processing an array, or connecting two dictionaries rather than an algorithm.

• Glassdoor(Data Eng Manager) - Rejected after onsite
o Typical recruiter call – non technical.
o Manager call: learned about org, talked about why I am interested in company, my experience and what I am looking for in a new role.
o Onsite: All day onsite, database schema design, employed with data scientists, leadership/management. One Leetcode easy whiteboard problem in python + talked with that interviewer about challenges in Data Eng such as GDPR and how they might be solved. Onsite was tough but laid back, everybody was super friendly and I felt the interview fairly assessed my abilities.
 They ended up going with a different candidate with more management YOE.

• PitchBook (Data Eng Manager) - Rejected after manager call
o Typical recruiter call – non technical.
o Manager call: learned about company, talked regarding why I am interested in company, my experience and what I am looking for in a new role.
 Received notification after call that they were hiring within for the job.

• One Medical - Rejected after Tech Screen
o Typical recruiter call – non technical.
o Tech screen: Was given a python class in coderpad that was quite messy, had to refactor and improve it. I took too lengthy understanding the if/then logic and finished with 1 min to spare. My solution must not have been optimal as I was rejected. I felt the challenge was fair and realistic for the job.

• Data Bricks - Rejected after tech screen
o Typical recruiter call – non technical.
o Manager call with VP: Standard manager call, learned about firm, talked about why I am interested in company, my experience and what I am looking for in a new role.
o Coding Challenge: Very realistic coding challenge for a Spar Engineer. Took me regarding 10 hours of work, learned a lot doing so and enjoyed the challenge.
o Tech Screen 1: Mainly questioned specific questions about spark, things like “why would you use coalesce vs repartition”. I wish I had read “The Definitive Guide to Spark” First. I did not do well.
o Tech Screen 2: Almost the same as above, specific spark problems, I did even worse than Tech Screen 1.

• Clarity Insights - Rejected after recruiter screen
o Typical recruiter call – non technical In this screen we talked regarding comp. Ive usually been of the mind to put out a number if I have the research to back it up (dd and levels.fyi). I gave them a number, they said they would see if they could available up a principal consultant role to meet my comp, they could not. There is a chance I could have interviewed, done awesome and then given my number but given the market in SF is so hot I didn’t hope to waste time when other companies heard the same number and said, we can do that.

• BuildingConnected - Made an Offer
o Manager call with VP: Standard manager call, learned regarding company, talked about why I am interested in company, my experience and what I am looking for in a new role.
o Coding Challenge: Very realistic coding challenge for a Data Engineer. Took me regarding 5 hours of work, learned a lot doing so and enjoyed the challenge.
 Onsite: This was one of the best onsite I have ever had. Started the day reviewing my coding challenges and talking through my decisions, then spent the second half of the day building out the coding challenge into something production ready. Lunch with the data eng and data science crew. All were super friendly.

• Lyell Immunopharma - Rejected after Tech Screen
o Manager call with VP: Standard manager call, learned regarding company, talked about why I am interested in company, my experience and what I am looking for in a new role.
o Tech Screen: Leetcode Medium. I made it through one problem and was totally stumped on the other. The problems were both available on Leetcode had I practiced more I may have made it. Interview was super helpful in walking me through it even although it was apparent I wouldn’t be moving forward, good learning experience.

• Disney - Rejected after onsite
o Manager call with VP: Standard manager call, learned about company, talked about why I am interested in company, my background and what I am looking for in a new role.
o Tech Screen: Python coderpad, leetcode medium, but on the straightforward side. Big interest in Big O Notation
o Onsite: This was the most challenging technical onsite I had. Almost all were python whiteboarding:
 1 interview discussed software development, things like deploying, testing etc. I did fine here.
 1 interview was basically a different tech screen, leetcode medium python question. I did fine here.
 1 interview was more object oriented, create a typical data structure in python, discuss how to use/improve it. I did not do well here.
 This was the oddest thing, lunch was a 45 minute break, where I was left to fend for myself, in a WeWork where I did not have badge access to get back in. I made a cup of coffee and ate the snacks I brought.
 Last interview was management/ a different leetcode medium question. I did not do well on this one, partly because it was a harder medium, but mainly I was exhausted at this point.
o I did not get an offer.

• GoodRX - Made an Offer
o Manager call with VP: Standard manager call, learned regarding company, talked about why I am interested in company, my experience and what I am looking for in a new role.
o Tech Screen: Because I was on a time crunch we did only a SQL tech screen with the agreement that if it went well we would shift to onsite, else do python. It went well. Nothing crazy, you just need to realize SQL well. See above notes on what I needed to realize in general.
o Onsite:
 Python leetcode medium problem, started off simple and made the requirements harder as time went on. I thought I was struggling but apparently this was OK as they made the question difficult to see how far people could get.
 SQL problems, mainly Kimball datawarehouse related
 Lunch with the data eng and data science group. All were super friendly.
 Behavioral interviews with data science managers and data analyst managers. All totally reasonable questions, both were extremely nice.

296

17 comments

Im not sure on the exact count, but I essentially did leet code 5 times a week for 4 months. I likely did 75 easy python and 25 medium python. But I would keep re-doing a problem until I actually understood it. Also as I had interviews, I would re-practice the questions they questioned on my own before interviewing with other companies. If I went back and re-interviewed with the initial company now, I imagine it would be much easier.

I sorted by frequency and skipped problems related to Binary Search Tree and Linked List (although this is probably why I did poorly at Disney +). Also if I was tired I would sort by acceptance and basically do a few easy problems to get in the zone, other days I would grind over a single medium for 30+ min.

144

How plenty of LC easies and mediums did you do? How did you order them?

142

How did you know you’d gotten to the point of truly understanding a question?

132

How much time do you spend every day preparing? Are you employed full time?

129

Great insight. Thanks. Why did you skip binary search tree and linked list problems, out of curiosity?

128

I was/ am employed full time. I spent about 2 hours a day, my commute is 1 hour each way so I have always read every direction and I do leetcode over lunch.

118

Congrats

107

Can't thank you enough. Really appreciate sharing the information

104

I did take an offer, thank you!

93

Wow! That’s extremely detailed notes. So did you conclude up accepting the offer or are you still interviewing? All the Best to you.

92

I didn’t make it past the manager screen so basically I just talked to recruiter and manager regarding projects I was working on / skills. I was interviewing for a data eng manager and they mentioned they ended up hiring internally

91

I also applied to 20 or so additional roles where I either was declined, received no response or had a call with the recruiter and felt it wasn’t a decent fit

87

Your post is so much motivating for me after getting rejected. How was the process at crunch base? Interviewing for data engineer.

85

What was the GoodRx offer and title? I'm gathering data points for the healthcare industry to inform folks expectations.

84

Thanks for the details OP. What kind of problems for kimball method? Not certain what to prepare.

80

Dear OP, I'm in the same boat as you. I have applied for so plenty of roles and the experiences are same as yours. Good to see there are engineers out there get through difficult situations for leadership role and not through some referrals. I'm at a point I have couple of offers take decision. GoodRx is one of those, how much RSU should I expect for Director level job?

66

Hey, can you elaborate more on your interview at One Medical? I have my interview with them coming up following week and have no idea what to expect. Thanks!

0