Taro Logo

Data Engineer Interview Experience

August 1, 2016
Negative ExperienceNo Offer

Process

I applied late one night a few weeks ago and was woken up the next morning by a very enthusiastic recruiter. I asked her to call me back in 30 minutes as she had just woken me up, and I needed to think straight. She called me back promptly, and we spoke for about an hour. She explained the process and said that she'd be submitting my resume to a panel, and one of the teams might select my resume to move ahead.

The next day, the AML (Anti-Money Laundering) team selected my resume. We decided on availability, and a date and time was set: 3 PM EST. Since I'm in California, that was noon for me.

Noon came and went with no call. I emailed them to find out that the Software Engineer had been pulled into a meeting and would call me at 4 PM PST. I already had a bad feeling, but could do nothing, as I was going on vacation and wouldn't be back until the next week. The risk of a 4 PM interview was obvious; it's the time when work is winding down and people want to go home. Rather than postpone, since I was all prepped and ready, I said 4 PM was fine.

An Indian gentleman called, and without really asking about my resume, he dove into the first (and only) technical question: "If I have a table with columns 'a', 'b', and 'c', how can I get the following counts: count of all 'a's where 'a' is null, 'b's where 'b' is null, and so on for 'c', 'a' and 'b', 'b' and 'c', 'a' and 'c', and 'a', 'b', and 'c', in a single scan of the table?"

I immediately thought of the CASE statement. I messed it up a bit by not quite remembering that we can do a COUNT(CASE(...)), but I got there. He said, "No."

I tried to think aloud and give him answers, but he said they wouldn't work and just kept quiet. In fact, after telling him my solution, he was quiet for so long that I thought the line had gotten disconnected. He then asked me stuff about my resume and what I'd done. But that question kept gnawing at me because I knew I was at least half-right, if not more, and I knew I was losing him. So I said, "Can we go back to the question?"

He said okay, and then I told him that we could do a COUNT(CASE()) to get his results. He still said nothing more than, "It won't work."

Then he asked, "Okay, what if there were many columns, and they kept changing? You wouldn't change your query, right? How would you do this programmatically?"

So I said, "I would query the metadata to get the basic row count information and the number of columns. Once you have the number of columns, you can form your query for each column and run that to get your counts."

Silence. I said, "Uhm... Hello?"

He said, "It's okay. Do you have any questions for me?"

By this time, I'd lost all interest in the interview myself, but I asked him, "Sure! What does your team do?"

Typically, this would involve telling the candidate what the team does at a high level and then drilling down into the technicalities if needed. He said, "We perform aggregations on Hive and we use Java and Python, but mostly Java." Not quite what I was expecting, but I was like, "Whatever."

The call ended, and so did my misery.

I had very serious thoughts of emailing the recruiter and withdrawing from consideration. I wouldn't have wanted this kind of team or teammate. However, since I was going on vacation, I just waited instead for the rejection email to come. It duly arrived on Monday, and yesterday, the very friendly recruiter called me to give more feedback. After she was done, I unloaded on her and told her pretty much whatever I've typed here, and said that I don't think I'd want to apply to Capital One again given this experience. Once bitten, twice shy, and all.

She apologized for the negative experience and thanked me for bringing it to her attention. I'm not sure if she'll actually tell the team, but I couldn't care less. I'm done with this company.

Questions

If I have a table with columns a, b, and c, how can I get the following counts in a single scan of the table?

  • Count of all 'a's where 'a' is null
  • Count of 'b's where 'b' is null
  • Count of 'c's where 'c' is null
  • Count of 'a' and 'b' where both are null
  • Count of 'b' and 'c' where both are null
  • Count of 'a' and 'c' where both are null
  • Count of 'a', 'b', and 'c' where all are null

Was this helpful?

Interview Statistics

The following metrics were computed from 40 interview experiences for the Capital One Data Engineer role in United States.

Success Rate

35%
Pass Rate

Capital One's interview process for their Data Engineer roles in the United States is fairly selective, failing a large portion of engineers who go through it.

Experience Rating

Positive45%
Neutral23%
Negative33%

Candidates reported having good feelings for Capital One's Data Engineer interview process in United States.

Capital One Work Experiences