What a Chaotic Chengdu Tech Interview Revealed About Real Questions and Salary Reality
A Chengdu software engineer shares a candid, step‑by‑step recount of his job‑hunting journey, from low‑pay outsourcing traps to tough interview questions on Java, cloud, data structures, and design patterns, culminating in a modest offer and hard‑earned lessons for future candidates.
Job market context
In the Chengdu software market, outsourcing firms dominate hiring. Companies increasingly require exact matching experience, penalize candidates with frequent job changes, and limit salary offers to a 10 k–14 k CNY monthly range without year‑end bonuses. Benefits often include the statutory five‑insurances‑one‑housing‑fund (五险一金) and a 965 work schedule (9 am–6 pm, Saturday off, Sunday off).
A candidate with five years of experience in Java, Node, React, Python, Shell, and C++ secured an offer from an offshore outsourcing firm (a “thoughtworks‑style” company listed on the NYSE). The compensation package was 14 k CNY × 13 months plus profit‑sharing (typically 1–2 months salary), no clock‑in requirement, and full social benefits.
Phone interview technical questions
Cloud components : The candidate mentioned Feign for remote calls and Hystrix for circuit breaking.
Bean lifecycle : Recalled initialization and destruction phases.
Java Map resizing : Described that when the map reaches a threshold it either resizes (rehashing) or converts to a red‑black tree, depending on the number of entries.
MySQL storage structure : Identified the B+‑tree as the underlying index structure.
B+‑tree vs. binary tree : Noted that B+‑tree nodes contain multiple keys and leaf nodes are linked via pointers, enabling efficient range queries.
Docker file handling : Stated that files are typically mounted as volumes; had not used the COPY instruction.
On‑site interview technical discussion
Singleton pattern : Explained that lazy initialization requires a lock to ensure only one instance is created in a multithreaded environment.
Observer pattern : Described its use for notifying observers of state changes. Highlighted that a large number of observers can create an unmaintainable “mess” and recommended decoupling via a message queue.
Inheritance vs. composition : Expressed a preference for composition over inheritance to reduce tight coupling.
AOP implementation : Mentioned that Aspect‑Oriented Programming is typically realized through dynamic proxies.
System design exercise : Presented two architectural alternatives, discussed their trade‑offs (e.g., scalability, complexity, latency), and justified the chosen approach.
English proficiency : Confirmed ability to work in an all‑English environment, with sufficient reading, writing, and speaking skills for daily stand‑ups.
Salary negotiation and final offer
The HR discussion set the salary band at 10 k–14 k CNY per month with an annual raise. The candidate accepted the top of the range (14 k) despite an initial expectation of 16 k–20 k, considering the market constraints and the remote‑first team structure.
After acceptance, the candidate joined a globally distributed team with members in Shanghai, Tokyo, and Singapore, requiring occasional office attendance.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
JavaEdge
First‑line development experience at multiple leading tech firms; now a software architect at a Shanghai state‑owned enterprise and founder of Programming Yanxuan. Nearly 300k followers online; expertise in distributed system design, AIGC application development, and quantitative finance investing.
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.
