Research Assistant/Research Associate/Research Fellow (Computer Science)
Nanyang Technological University · Singapore
About this role
The College of Computing and Data Science (CCDS) at Nanyang Technological University (NTU) is seeking a Research Assistant, Research Associate, or Research Fellow to conduct research in resource allocation for distributed computing. The role focuses on cache management and job scheduling for modern computing systems, including Large Language Models (LLMs). Key Responsibilities: Conduct research on resource allocation and distributed computing; design and develop algorithms for cache management and job scheduling; analyze theoretical aspects of distributed systems including optimization, scalability, and efficiency; implement and test methods through simulations or real-world experiments; and evaluate system performance using metrics such as latency, throughput, fairness, and robustness. Job Requirements: Candidates must hold a relevant degree in Computer Science or related disciplines: a Bachelor's degree for Research Assistant, a Master's degree for Research Associate, or a PhD for Research Fellow. Applicants should possess good knowledge of distributed computing, algorithm design, analysis, and optimization, along with relevant research experience and a proven track record. The role requires an independent, highly analytical, and proactive team player with excellent verbal and written communication skills.
For full details about this role, click “Apply on company site” to view the employer’s original posting.
A focused preparation guide, built around this job’s responsibilities and requirements.
✦ AI-generated guide
Preparation suggestions, not the employer’s actual interview questions. Always check the original posting for current requirements.
01
Understand the role
What matters most
Algorithm Design for Resource Allocation
The core of this role is the creation of novel algorithms for cache management and job scheduling. You must demonstrate the ability to translate theoretical concepts into functional, efficient code that addresses the specific demands of modern distributed systems, particularly those supporting Large Language Models.
System Performance Evaluation
You are expected to rigorously validate your proposed methods. This requires proficiency in designing simulations or real-world experiments to measure critical performance metrics including latency, throughput, fairness, and robustness, ensuring that your research findings are backed by empirical data.
Theoretical Analysis of Distributed Systems
Beyond implementation, you must analyze the theoretical foundations of your work. This involves evaluating the scalability, efficiency, and optimization potential of distributed architectures, requiring a strong grasp of computer science fundamentals and mathematical modeling.
Likely challenges to think through
Balancing Theoretical Rigor with Practical Implementation
A common challenge in academic research is ensuring that complex theoretical algorithms perform well in practical, real-world distributed environments. Prepare by being ready to discuss how you bridge the gap between abstract optimization and the constraints of actual hardware and software systems.
Adapting to Modern LLM Workload Demands
LLMs present unique challenges for cache management and scheduling due to their massive memory and compute requirements. Prepare by researching current literature on distributed training and inference bottlenecks to demonstrate how your proposed algorithms can specifically address the high-concurrency and high-throughput needs of AI workloads.
03
Practice your answers
Technical practice
Distributed Resource Allocation Challenges
What to coverDiscuss the primary trade-offs between latency, throughput, and fairness when designing resource allocation algorithms for distributed systems. Explain how you would prioritize these metrics when dealing with high-demand workloads like Large Language Models.
Cache Management for LLMs
What to coverHow do the memory access patterns of LLMs differ from traditional distributed workloads, and what specific cache management strategies would you propose to optimize performance? Address the impact of model size and inference requirements on cache hit rates.
Job Scheduling Optimization
What to coverDescribe an approach to designing a job scheduling algorithm that ensures robustness in a distributed environment. Explain how you would handle node failures or sudden spikes in job requests without compromising system efficiency.
Theoretical Analysis of Scalability
What to coverWhen analyzing the scalability of a distributed system, what theoretical frameworks or models do you use to predict performance bottlenecks? Suggest how to balance theoretical efficiency with practical implementation constraints.
Simulation vs. Real-world Testing
What to coverCompare the advantages and limitations of using simulations versus real-world experiments for validating distributed system algorithms. Suggest a methodology for transitioning from a simulated environment to a production-like testbed.
Optimization Techniques in Distributed Systems
What to coverExplain your process for identifying and resolving performance bottlenecks in a distributed computing environment. Focus on how you isolate issues related to communication overhead versus computational load.
Algorithm Design for Modern Computing
What to coverHow do you approach the design of an algorithm when the objective function is multi-dimensional, such as optimizing for both energy efficiency and task completion time? Discuss the use of heuristics versus exact methods.
Performance Evaluation Metrics
What to coverBeyond latency and throughput, what metrics are critical for evaluating the robustness of a distributed system? Explain how you would define and measure 'fairness' in a multi-tenant computing environment.
Behavioural practice
Independent Research Initiative
What to coverDescribe a situation where you had to independently identify a research problem or a technical bottleneck. Explain the steps you took to analyze the issue and the final outcome of your investigation.
Collaborative Problem Solving
What to coverProvide an example of working within a research team to overcome a significant technical challenge. Detail your specific role, how you communicated your findings, and how the team reached a consensus on the solution.
Proactive Research Management
What to coverTell me about a time you anticipated a potential failure or inefficiency in a project before it occurred. What proactive measures did you take to mitigate the risk, and what was the result?
Communicating Complex Technical Concepts
What to coverDescribe a time when you had to explain a complex algorithmic or system design concept to a colleague or stakeholder with a different technical background. How did you ensure your message was understood and actionable?
02
Sharpen your knowledge
Topics to prepare
Distributed Systems Resource Allocation
Review theoretical frameworks for cache management and job scheduling in distributed environments. Exercise: Summarize the trade-offs between latency and fairness in existing distributed scheduling algorithms for large-scale computing systems to prepare for discussions on system optimization.
Performance Metrics in Computing Systems
Study the definitions and mathematical foundations of latency, throughput, fairness, and robustness. Exercise: Create a comparative table of these metrics and identify how they conflict when optimizing resource allocation for LLM workloads.
Skills to revise
Algorithm Design and Analysis
Practice designing algorithms for complex resource management problems. Exercise: Draft a pseudocode implementation for a cache eviction policy tailored for high-demand LLM inference tasks, focusing on scalability and efficiency.
System Simulation and Evaluation
Develop proficiency in modeling system behavior. Exercise: Design a simulation plan for a proposed job scheduling algorithm, detailing the input variables, expected performance metrics, and the methodology for validating results against real-world constraints.
04
Your preparation checklist
Prepare a research portfolio summary
Compile a document highlighting your past research in distributed systems, specifically focusing on algorithm design, optimization, and performance evaluation. Include links to published papers, GitHub repositories, or technical reports that demonstrate your ability to handle complex resource allocation problems.
Develop a technical project walkthrough
Select one of your previous projects involving cache management or job scheduling. Prepare to explain your methodology, the specific optimization metrics used (e.g., latency, throughput), and how you validated your results through simulation or real-world experimentation.
Review literature on LLM infrastructure
Refresh your knowledge on the specific challenges of resource allocation for Large Language Models, such as memory management and GPU scheduling. Be prepared to discuss how traditional distributed computing principles apply or need adaptation for modern AI workloads.
Draft responses for behavioral and analytical questions
Prepare examples that demonstrate your independence and proactive approach to problem-solving. Use the STAR method (Situation, Task, Action, Result) to describe instances where you identified a system bottleneck and implemented an efficient, robust solution.
Formulate strategic questions for the interviewers
Prepare thoughtful questions regarding the current research focus of the CCDS team, such as: What are the primary performance bottlenecks currently observed in your LLM scheduling experiments? How does the team balance theoretical optimization with practical system robustness?
Availability last checked: 18 Oct 2026. Status can change after a check; confirm on the employer’s website. Report an issue · Our checking policy
Share this opportunityKnow someone who would be a great fit?