← AT&T Interview Insights

AT&T·Software Engineer·Online Assessment (OA)·Intermediate

IntermediateRejected
Jun 2026

Summary

Got recruited for an FDE role and was told the Codesignal assessment was just a formality. It was not a formality. Ended up with a 350/600 on what turned out to be a Machine Learning Core Assessment, which felt completely mismatched for a job that's mostly client-facing and data engineering work.

Questions Asked (3)

Q1

Implement a machine learning algorithm from scratch in code, without using any ML libraries or AI tools.

Algorithms & Data StructuresTechnical Trade-offs
Author's notes

This is where things fell apart.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Choose a simple, well-understood algorithm like linear regression or k-nearest neighbors that you can implement efficiently. Outline the mathematical formulation and data structures, then write clean, modular code with clear comments. Test with a small dataset and discuss trade-offs like time/space complexity and numerical stability.

Pro tip: Before coding, briefly explain the algorithm's math and your design choices to show you understand the underlying principles, not just the syntax. This demonstrates depth and helps you avoid mistakes.

1. Clarify requirements and choose algorithm

Ask clarifying questions about constraints (e.g., dataset size, performance) and select a simple algorithm that fits the problem. Explain why you chose it.

2. Outline mathematical formulation and data structures

Write down the key equations (e.g., gradient descent update) and decide on data structures (e.g., arrays, matrices) for efficient computation.

3. Implement core algorithm with modular functions

Code the algorithm in small, testable functions (e.g., predict, compute_loss, update_weights). Use clear variable names and comments.

4. Test with a small dataset and validate

Create a tiny synthetic dataset, run the algorithm, and check outputs against expected results. Debug any issues.

5. Discuss trade-offs and potential improvements

Analyze time/space complexity, numerical stability, and scalability. Mention alternative approaches or optimizations.

Key Points to Mention

  • Choice of algorithm and justification (e.g., simplicity, interpretability)
  • Mathematical derivation (e.g., gradient descent, distance metrics)
  • Time and space complexity analysis (Big O notation)
  • Numerical stability considerations (e.g., learning rate, normalization)
  • Testing methodology and validation (e.g., unit tests, small dataset)
  • Potential improvements or alternative algorithms for scalability

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Implement a second machine learning concept from scratch in a timed, proctored coding environment.

Algorithms & Data Structures
Author's notes

Same situation as the first ML question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, clarify the scope and constraints of the ML concept (e.g., k-means, logistic regression) and confirm expected inputs/outputs. Then, outline the algorithm steps and implement a clean, efficient solution with proper data handling and edge cases. Finally, test with small examples and discuss potential optimizations or trade-offs.

Pro tip: In a timed proctored setting, prioritize a working brute-force implementation first, then optimize if time permits. Communicate your thought process clearly, as interviewers value problem-solving approach as much as the final code.

1. Clarify Requirements

Ask clarifying questions about the specific ML concept, input data format, expected output, and any constraints (e.g., time/space complexity, libraries allowed).

2. Outline Algorithm

Sketch the algorithm steps, including initialization, iterative updates, and termination conditions. Identify key mathematical operations and data structures needed.

3. Implement Core Logic

Write clean, modular code for the core algorithm, handling edge cases like empty input or convergence issues. Use vectorization or efficient loops where possible.

4. Test and Validate

Run through small, hand-crafted examples to verify correctness. Check for off-by-one errors, numerical stability, and performance bottlenecks.

5. Discuss Trade-offs

Explain the time and space complexity, potential improvements (e.g., using NumPy, parallelization), and how the implementation might scale.

Key Points to Mention

  • Choice of data structures (e.g., arrays, matrices) and their impact on performance.
  • Handling of edge cases such as empty datasets, convergence thresholds, and numerical stability.
  • Time and space complexity analysis of the implementation.
  • Use of vectorization or built-in functions (if allowed) to optimize performance.
  • Testing methodology: unit tests, small examples, and validation against known results.
  • Potential extensions or variations of the algorithm (e.g., different distance metrics, regularization).

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Solve a general (non-ML) coding problem as part of the assessment.

Algorithms & Data Structures
Author's notes

The one question I actually passed.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem requirements and constraints, then discuss possible approaches with their trade-offs before coding. Choose the most efficient solution that balances time and space complexity, and write clean, modular code with edge cases in mind.

Pro tip: Always verbalize your thought process and ask clarifying questions—interviewers value problem-solving skills and communication as much as the final code. If stuck, start with a brute-force solution and then optimize.

1. Understand the Problem

Ask clarifying questions to confirm input/output formats, constraints, and edge cases. Restate the problem in your own words to ensure alignment.

2. Explore Approaches

Brainstorm multiple solutions, from brute-force to optimized, and discuss their time and space complexities. Choose the best approach based on constraints.

3. Plan the Code

Outline the algorithm step-by-step, including data structures and helper functions. Consider edge cases and how to handle them.

4. Implement and Test

Write clean, readable code with meaningful variable names. Test with sample inputs and edge cases, explaining your reasoning as you go.

5. Review and Optimize

Check for off-by-one errors, unnecessary complexity, and potential optimizations. Discuss any trade-offs you made.

Key Points to Mention

  • Time and space complexity analysis of your solution
  • Edge cases such as empty input, large input, duplicates, or negative numbers
  • Choice of data structures and why they are appropriate
  • Trade-offs between different approaches (e.g., iterative vs recursive)
  • Code readability and maintainability (naming, modularity)
  • Testing strategy and how you verify correctness

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.