Core Concepts
Algorithm & Data Structures
| Chinese | English | IPA | Example |
|---|---|---|---|
| 算法 | algorithm | /ˈælɡərɪðəm/ | “This algorithm has O(n log n) complexity.” |
| 数据结构 | data structure | /ˈdeɪtə ˈstrʌktʃər/ | “Arrays and linked lists are basic data structures.” |
| 时间复杂度 | time complexity | /taɪm kəmˈpleksəti/ | “We need to optimize the time complexity.” |
| 空间复杂度 | space complexity | /speɪs kəmˈpleksəti/ | “The space complexity is O(n).” |
| 递归 | recursion | /rɪˈkɜːʒən/ | “Recursion makes the code cleaner.” |
| 迭代 | iteration | /ˌɪtəˈreɪʃn/ | “We use iteration instead of recursion here.” |
Software Engineering
| Chinese | English | IPA | Example |
|---|---|---|---|
| 部署 | deployment | /dɪˈplɔɪmənt/ | “The deployment failed due to a configuration error.” |
| 可扩展性 | scalability | /ˌskeɪləˈbɪləti/ | “Scalability is critical for microservices.” |
| 可维护性 | maintainability | /meɪnˌteɪnəˈbɪləti/ | “We prioritize maintainability over performance.” |
| 重构 | refactoring | /riːˈfæktərɪŋ/ | “Code refactoring improves maintainability.” |
| 技术债务 | technical debt | /ˈteknɪkəl det/ | “We need to pay off technical debt.” |
| 持续集成 | continuous integration | /kənˈtɪnjuəs ˌɪntɪˈɡreɪʃn/ | “CI/CD automates the deployment process.” |
System Design
| Chinese | English | IPA | Example |
|---|---|---|---|
| 分布式系统 | distributed system | /dɪˈstrɪbjuːtɪd ˈsɪstəm/ | “Distributed systems require careful design.” |
| 负载均衡 | load balancing | /ləʊd ˈbælənsɪŋ/ | “Load balancing distributes traffic evenly.” |
| 高可用性 | high availability | /haɪ əˌveɪləˈbɪləti/ | “We need 99.99% high availability.” |
| 容错 | fault tolerance | /fɔːlt ˈtɒlərəns/ | “Fault tolerance prevents system failures.” |
| 吞吐量 | throughput | /ˈθruːpʊt/ | “The throughput is 10,000 requests per second.” |
| 延迟 | latency | /ˈleɪtənsi/ | “We need to reduce latency to under 100ms.” |
Development Practices
| Chinese | English | IPA | Example |
|---|---|---|---|
| 调试 | debugging | /diːˈbʌɡɪŋ/ | “Debugging is essential for software development.” |
| 单元测试 | unit testing | /ˈjuːnɪt ˈtestɪŋ/ | “Unit testing ensures code quality.” |
| 代码审查 | code review | /kəʊd rɪˈvjuː/ | “Code review catches bugs early.” |
| 版本控制 | version control | /ˈvɜːʒən kənˈtrəʊl/ | “Git is the most popular version control system.” |
| 敏捷开发 | agile development | /ˈædʒaɪl dɪˈveləpmənt/ | “Agile development emphasizes flexibility.” |
Common Phrases
Discussing Performance
- “The algorithm scales well with large datasets.”
- “We need to optimize for both speed and memory.”
- “The system handles 10,000 concurrent connections.”
- “Performance degrades under heavy load.”
Discussing Architecture
- “The architecture follows the microservices pattern.”
- “We use containerization for deployment.”
- “The system is highly decoupled.”
- “We follow the separation of concerns principle.”
Discussing Quality
- “Code quality is paramount for long-term success.”
- “We prioritize maintainability over premature optimization.”
- “Testing coverage is critical for reliability.”
- “We enforce coding standards through automated tools.”
Pronunciation Tips
Common Mispronunciations
| Word | ❌ Wrong | ✅ Correct |
|---|---|---|
| algorithm | /ˈælɡərɪtm/ | /ˈælɡərɪðəm/ |
| cache | /keɪʃ/ | /kæʃ/ |
| git | /ɡɪt/ | /ɡɪt/ (hard ‘g’) |
| Linux | /ˈlɪnəks/ | /ˈlɪnʊks/ |
Stress Patterns
- algorithm: AL-go-rithm
- deployment: de-PLOY-ment
- scalability: scale-uh-BIL-ity
- maintainability: main-tain-uh-BIL-ity
Practice Scenarios
Scenario 1: System Design Discussion
Context: Discussing architecture with a colleague
“We’re designing a distributed system with high availability. The architecture uses load balancing to distribute traffic and fault tolerance to handle failures. We expect throughput of 10,000 requests per second with latency under 100ms.”
Scenario 2: Code Review
Context: Reviewing code with a team member
“I noticed some technical debt in this module. The code works, but maintainability is low. We should prioritize refactoring to improve code quality. Also, we need more unit tests to ensure scalability.”
Scenario 3: Performance Optimization
Context: Optimizing a slow algorithm
“The current algorithm has time complexity of O(n²), which degrades performance with large datasets. We need to optimize it to O(n log n) and reduce space complexity as well.”
Memory Tricks
- algorithm → “AL-go-rithm” → like “rhythm” but with “go”
- deployment → “de-PLOY-ment” → think of “deploy” + “ment”
- scalability → “scale-uh-BIL-ity” → from “scale” (scale up/down)
- throughput → “THRU-put” → what goes “through” the system