Amazon New Grad Applied Scientist Interview Experience — A Month of Recruiter Ghosting Before One Chaotic Phone Screen

Company: Amazon

Role: Applied Scientist

Round: Technical Screen

Seniority: New Grad

Outcome: Rejected

3/13 - recruiter call scheduled, system email assigned recruiter 1 3/15 - rejected, me: ??? 3/16 - recruiter call with recruiter 2, very nice person, said I could set up a mock interview with them, we scheduled a time, then they ghosted 3/17-4/13 - I kept providing my availability, kept hearing "does not meet team calendar," this kept repeating... 4/14 - recruiter 2 was out of office, recruiter call with recruiter 3, said they'd send detailed information, then also ghosted 4/28 - phone screen The interviewer let me choose between "science" or "coding" - I picked science. - What's the assumption of linear regression? Why squared loss? - What is logistic regression? Why use log? - What is random forest? How is the set of features selected? - Explain Adam, pros and cons compared to SGD - Two neural nets, both two layers, one with just a few neurons and one with many neurons - which one is easier to get trapped in a local minimum? For that last question the interviewer said that out of the roughly 100 people they've interviewed with it, only one or two got it right. I got it right and explained it, and then we happily moved on to a DP problem the interviewer made up themselves. Implement bucket batching. Suppose we have K documents and G GPUs, find the optimal batching that minimizes the padding needed. Constraints: 0 <= K < G. I'd run into this problem before, back in my PhD - I knew the idea was to bucket inputs of similar length into the same batch, but I didn't actually know the algorithm. The interviewer hinted at considering the G = 2 case and I still couldn't work it out. In the end they said honestly, if your coding is strong you could just brute force it. Claude's solution: ```python def optimal_buckets(lengths, G): L = sorted(lengths) K = len(L) INF = float('inf') dp = [[INF]*(G+1) for _ in range(K+1)] par = [[0]*(G+1) for _ in range(K+1)] dp[0][0] = 0 for i in range(1, K+1): for g in range(1, min(G, i)+1): # last batch is L[j..i-1], cost (i-j) * L[i-1] for j in range(g-1, i): c = dp[j][g-1] + (i - j) * L[i-1] if c < dp[i][g]: dp[i][g] = c par[i][g] = j # reconstruct buckets, i, g = [], K, G while g > 0: j = par[i][g] buckets.append(L[j:i]) i, g = j, g-1 return buckets[::-1], dp[K][G] ``` Overall the whole process felt really chaotic and the experience was bad. The recruiter had told me the phone screen would just be ML fundamentals, some light leadership, and LC easy-medium, so I wasn't expecting a DP problem - especially one the interviewer came up with on their own. Probably failed.

Amazon New Grad Applied Scientist Interview Experience — A Month of Recruiter Ghosting Before One Chaotic Phone Screen

Amazon·Applied Scientist·Apr 2026
Technical ScreenNew GradRejectedhard

3/13 - recruiter call scheduled, system email assigned recruiter 1
3/15 - rejected, me: ???
3/16 - recruiter call with recruiter 2, very nice person, said I could set up a mock interview with them, we scheduled a time, then they ghosted
3/17-4/13 - I kept providing my availability, kept hearing "does not meet team calendar," this kept repeating...
4/14 - recruiter 2 was out of office, recruiter call with recruiter 3, said they'd send detailed information, then also ghosted
4/28 - phone screen

The interviewer let me choose between "science" or "coding" - I picked science.

  • What's the assumption of linear regression? Why squared loss?
  • What is logistic regression? Why use log?
  • What is random forest? How is the set of features selected?
  • Explain Adam, pros and cons compared to SGD
  • Two neural nets, both two layers, one with just a few neurons and one with many neurons - which one is easier to get trapped in a local minimum?

For that last question the interviewer said that out of the roughly 100 people they've interviewed with it, only one or two got it right. I got it right and explained it, and then we happily moved on to a DP problem the interviewer made up themselves.

Implement bucket batching. Suppose we have K documents and G GPUs, find the optimal batching that minimizes the padding needed. Constraints: 0 <= K < G.

I'd run into this problem before, back in my PhD - I knew the idea was to bucket inputs of similar length into the same batch, but I didn't actually know the algorithm. The interviewer hinted at considering the G = 2 case and I still couldn't work it out. In the end they said honestly, if your coding is strong you could just brute force it.

Claude's solution:

def optimal_buckets(lengths, G):
    L = sorted(lengths)
    K = len(L)
    INF = float('inf')
    dp   = [[INF]*(G+1) for _ in range(K+1)]
    par  = [[0]*(G+1) for _ in range(K+1)]
    dp[0][0] = 0
    for i in range(1, K+1):
        for g in range(1, min(G, i)+1):
            # last batch is L[j..i-1], cost (i-j) * L[i-1]
            for j in range(g-1, i):
                c = dp[j][g-1] + (i - j) * L[i-1]
                if c < dp[i][g]:
                    dp[i][g] = c
                    par[i][g] = j
    # reconstruct
    buckets, i, g = [], K, G
    while g > 0:
        j = par[i][g]
        buckets.append(L[j:i])
        i, g = j, g-1
    return buckets[::-1], dp[K][G]

Overall the whole process felt really chaotic and the experience was bad. The recruiter had told me the phone screen would just be ML fundamentals, some light leadership, and LC easy-medium, so I wasn't expecting a DP problem - especially one the interviewer came up with on their own. Probably failed.

Curated and edited by PracHub

Practice the questions from this interview

Amazon New Grad Applied Scientist Interview Experience — A Month of Recruiter Ghosting Before One Chaotic Phone Screen | Amazon Interview Experience