← AT&T Interview Insights

AT&T·Software Engineer·Executive / Final Round·Junior

JuniorRejected
Nov 2025

Summary

Went through multiple intern application cycles with a 3.7 GPA and solid hardware/software projects, got maybe 4 interviews total across two seasons, made it to the final round at a defense contractor but froze on the whiteboard and didn't get the offer. The recurring feedback: great resume, just no experience.

Questions Asked (2)

Q1

Do you know C++? (and similar basic skills-verification questions asked verbatim from an application form)

Technical Trade-offs
Author's notes

Two of my four interviews were HR reps who straight up told me they had never interviewed for a CS role before.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Answer with a confident 'yes' and immediately provide a concrete example of how you've used C++ to solve a real problem. Then pivot to your broader software engineering experience and how it applies to the role at AT&T.

Pro tip: Don't just list C++ features; tie your experience to the company's domain (e.g., telecom systems, embedded devices, high-performance networking) to show relevance. Also, mention your willingness to learn other languages as needed.

1. Confirm and quantify

State clearly that you know C++ and specify your level (e.g., 'I have 5 years of professional experience'). Avoid vague answers like 'a little' or 'some'.

2. Give a concrete example

Describe a specific project where you used C++ to solve a problem, highlighting the impact (e.g., performance improvement, memory optimization).

3. Connect to the role

Explain how your C++ skills align with the job requirements, such as developing low-latency systems or working with embedded devices in telecom.

4. Show versatility

Mention other relevant languages or technologies you know, and express eagerness to adapt to the company's tech stack.

5. Invite further discussion

Offer to elaborate on any aspect or provide code samples, showing confidence and openness.

Key Points to Mention

  • Years of experience with C++ and specific versions (e.g., C++11/14/17)
  • Familiarity with standard library, STL, and modern features (smart pointers, lambdas, move semantics)
  • Experience with performance optimization, memory management, and debugging tools
  • Projects where C++ was critical (e.g., real-time systems, network protocols, embedded software)
  • Knowledge of related technologies (e.g., Python, Java, Linux, Git) and willingness to learn
  • Understanding of software engineering best practices (testing, code reviews, Agile)

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

Q2

Whiteboard coding problem during a final-round in-person interview at a defense contracting company.

Algorithms & Data Structures
Author's notes

I froze.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by restating the problem in your own words and asking clarifying questions about input constraints, edge cases, and expected output. Then outline a brute-force solution, analyze its time and space complexity, and iteratively optimize using appropriate data structures or algorithms. Before coding, walk through a small example to validate your approach, then write clean, modular code with meaningful variable names and test it with edge cases.

Pro tip: Verbalize your thought process continuously and treat the whiteboard as a collaborative tool—ask the interviewer for feedback at key decision points. This demonstrates communication skills and reduces the risk of going down a wrong path unnoticed.

1. Understand and Clarify

Restate the problem and ask clarifying questions about input size, data types, edge cases, and expected output format. Confirm any assumptions with the interviewer.

2. Explore Examples

Walk through a simple example and a few edge cases manually to ensure you understand the problem and to identify patterns or potential pitfalls.

3. Design and Analyze

Propose a brute-force solution first, then optimize it by choosing appropriate data structures or algorithms. Clearly state the time and space complexity of each approach.

4. Code and Test

Write clean, modular code on the whiteboard, explaining your logic as you go. After coding, trace through your code with the examples from step 2 to verify correctness.

5. Review and Optimize

Discuss potential improvements, trade-offs, and how your solution would scale. Mention any assumptions or limitations, and ask if the interviewer has further questions.

Key Points to Mention

  • Time and space complexity analysis for each proposed solution
  • Edge cases such as empty input, single element, duplicates, and large inputs
  • Choice of data structures (e.g., hash maps, trees, heaps) and why they are appropriate
  • Modular code design with clear separation of concerns and meaningful variable names
  • Testing strategy including unit tests and manual walkthroughs
  • Trade-offs between different approaches (e.g., readability vs. performance)

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