C++/Go Backend Interview Experiences and Preparation Tips
This article shares a 985 graduate's personal background, systematic interview preparation for C++ and Go backend positions, detailed interview question collections from major tech companies, and practical advice on study resources, project presentation, and coding practice to help candidates succeed in technical interviews.
The author, a 985 graduate with multiple internships at Tencent, Huawei and other companies, describes his academic background, lack of ACM experience, and how he shifted from a weak C++ skill set to actively preparing for backend internships after seeing a peer receive an offer.
He explains his preparation strategy: using "八股" (core interview topics) such as C++, Go, computer networks, operating systems, databases, data structures and algorithms; practicing on LeetCode and 牛客网; and reviewing interview experiences (面经) to focus on high‑frequency questions.
Key study resources are listed, including links to C++ primers, cppreference, STL analysis, Go tutorials, network programming references, Linux command guides, Redis and Hive articles, and hands‑on coding platforms like AcWing and CodeTop. The author emphasizes the importance of understanding fundamentals, reading source code, and building small demos.
Interview experiences are detailed for several companies:
ByteDance: multiple rounds covering self‑introduction, blockchain, Redis data structures, B+ tree, LeetCode problems, and system design questions.
Alibaba Cloud: C++ position focusing on socket programming, TCP handshakes, reliability, and a hand‑written binary tree traversal.
Ant Financial: Java‑oriented SRE role (declined), with questions on processes, threads, virtual memory, and RESTful APIs.
Tencent PCG: extensive rounds covering TCP/UDP, HTTP, MySQL storage engines, Redis persistence, bloom filters, design patterns, and a coding test.
During the Tencent rounds, a C code snippet was presented as a test case; the original code is reproduced below:
#include
int main()
{
int i = 0;
int arr[3] = {0};
for(; i<=3; i++) {
arr[i] = 0;
printf("Hello, World! \n");
}
return 0;
}The author concludes that his success was partly due to luck but stresses continuous learning, systematic resource usage, and practical project experience as essential for future interview success.
Architect
Professional architect sharing high‑quality architecture insights. Topics include high‑availability, high‑performance, high‑stability architectures, big data, machine learning, Java, system and distributed architecture, AI, and practical large‑scale architecture case studies. Open to ideas‑driven architects who enjoy sharing and learning.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.