Table of Contents
- Terms
- Industry Expressions for Game & IT Developers
- Idiomatic Expressions
- For Interviews and Project Communication
Terms
| Expression | Meaning | Usage Scenario |
|---|---|---|
| polymorphism | The ability of different objects to respond to the same function call in different ways. | Core concept in object-oriented programming, especially with virtual functions. |
| inheritance | A mechanism where one class derives properties and behaviors from another. | Used to create class hierarchies and reuse code. |
| encapsulation | Hiding internal details and exposing only necessary parts through interfaces. | Helps protect data and maintain clean architecture. |
| constructor / destructor | Special functions that initialize and clean up objects. | Used in C++ to manage object lifecycle. |
| reference / pointer | Ways to access or refer to memory locations. | Essential in C++ for memory management and function arguments. |
| overload / override | Overload: same function name with different parameters; Override: redefine base class behavior. | Used to extend or customize functionality. |
| compile-time / runtime | Compile-time: when code is translated to machine code; Runtime: when the program is executed. | Important for debugging and performance analysis. |
| stack / heap | Two types of memory allocation: stack is fast and temporary, heap is dynamic and persistent. | Used in variable storage and object creation. |
| thread-safe | Code that can safely run in multi-threaded environments without causing errors. | Crucial in concurrent programming. |
| undefined behavior | Code that may produce unpredictable results due to language rules violations. | Should be avoided to ensure stability and portability. |
| template / generic | Code structures that work with any data type. | Used in C++ (templates) and TypeScript (generics) for reusable components. |
| STL (Standard Template Library) | A collection of pre-built classes and functions for common data structures and algorithms. | Widely used in C++ for vectors, maps, sets, etc. |
| lambda expression | A concise way to define anonymous functions. | Used in functional-style programming and callbacks. |
| scope / lifetime | Scope: where a variable is accessible; Lifetime: how long it exists in memory. | Important for managing resources and avoiding bugs. |
Industry Expressions for Game & IT Developers
| Expression | Meaning | Usage Scenario |
|---|---|---|
| MVP (Minimum Viable Product) | The simplest version of a product that still delivers value. | Used during early product development to test core features quickly. |
| pivot | A major change in strategy or direction. | When a product or business shifts focus due to feedback or market changes. |
| iteration | One cycle of development and improvement. | Common in agile workflows to gradually refine a product. |
| sprint | A short, focused period of development. | Used in agile teams to deliver specific tasks within 1–2 weeks. |
| backlog | A prioritized list of tasks or features. | Managed by product owners to track upcoming work. |
| playtest | Testing a game by letting users play it. | Used to gather feedback on gameplay, balance, and user experience. |
| asset pipeline | The workflow for preparing and integrating visual/audio assets. | Collaboration between artists and developers to get assets into the game. |
| hitbox / collision detection | The invisible area used to detect contact between objects. | Essential for gameplay mechanics like combat or movement. |
| frame rate / FPS | The number of frames rendered per second. | A key performance metric for smooth gameplay. |
| latency / lag | Delay between user action and system response. | Critical in online games and real-time applications. |
| live ops | Ongoing updates and events after a game’s release. | Used to retain players and keep content fresh. |
| monetization | Strategies to generate revenue from a product. | Includes ads, in-app purchases, subscriptions, etc. |
| sandbox environment | A safe, isolated testing space. | Used for experimentation without affecting production systems. |
| scalability | The ability of a system to handle growth. | Important for systems expected to serve many users or large data loads. |
| CI/CD (Continuous Integration / Deployment) | Automated processes for building, testing, and releasing code. | Core to modern DevOps workflows for fast and reliable delivery. |
Idiomatic Expressions
| Expression | Meaning | Usage |
|---|---|---|
| “Let’s refactor this module.” | Suggest improving the code structure to make it cleaner or more efficient. | During a code review or when planning technical debt cleanup. |
| “This function is too tightly coupled.” | The function depends too much on other parts of the code, making it hard to reuse or test. | When discussing code design problems. |
| “Can we abstract this logic?” | Suggest extracting common logic into a reusable function or class. | While reviewing repetitive code or planning modularization. |
| “This breaks the single responsibility principle.” | The code does too many things and should be split into smaller parts. | When evaluating class or function design. |
| “Let’s keep it DRY.” | Avoid repeating the same code in multiple places. | During refactoring or team discussions. |
| “This is a bit verbose.” | The code or explanation is too long or detailed. | When suggesting simplification. |
| “It’s more idiomatic to use…” | This way of writing is more natural or standard in this programming language. | When giving style or best practice advice. |
| “Let’s decouple the UI from the logic.” | Separate the user interface from the underlying code logic. | When designing front-end architecture. |
| “This is a good candidate for a helper function.” | This piece of code can be moved into a reusable function. | During code cleanup or review. |
| “We should avoid side effects here.” | The function should not change external states unexpectedly. | When writing pure or predictable functions. |
For Interviews and Project Communication
| Expression | Meaning | Usage Scenario |
|---|---|---|
| I led the implementation of… | I was responsible for building or developing a specific feature or system. | Used when describing your role in a project. |
| We optimized the performance by… | We made the system faster or more efficient using a specific method. | Used to highlight technical improvements. |
| I collaborated with cross-functional teams. | I worked with people from different departments (e.g., design, QA, product). | Shows teamwork and communication skills. |
| One challenge we faced was… | We encountered a problem during the project. | Used to introduce problem-solving stories. |
| I proposed a solution that… | I suggested a way to fix or improve something. | Shows initiative and problem-solving ability. |
| The project was deployed to production in… | The project went live and was used by real users. | Used to show project completion and impact. |
| I ensured code quality through… | I used specific practices to keep the code clean and reliable. | Highlights engineering discipline and standards. |
| I’m comfortable working in agile environments. | I’m used to working in fast-paced, iterative teams. | Shows adaptability and team experience. |
| I’m currently exploring C++ for backend performance. | I’m learning how to use C++ to make backend systems faster. | Shows ongoing learning and technical curiosity. |
| I’d love to contribute to scalable systems. | I’m interested in building systems that can grow and handle more users. | Expresses career goals and technical ambition. |