Atlassian System Design Interview Questions for Software Developer in 2025

1. Design a Project Management Tool Like Jira

2. Design a Real-Time Collaboration Tool

3. Design a Scalable Notification System

  1. Design a Search System for Knowledge Base Articles

5. Design an API Gateway for Atlassian Services

6. Design a Version Control System for Documentation

7. Design a Real-Time Analytics Platform

  1. Design a Scalable User Authentication and Authorization System

9. Design a Workflow Automation System

10. Design a Logging and Monitoring System

11. Design a Rate Limiter

12. Design a Parking System

13. Database Design

14. Design Snake Game

15. Design a Ticketing System like Jira

16. Design a URL Shortening Service

17. Design a Notification System

18. Design a Distributed Messaging System

19. Design a Scalable Chat Application

20. Design a Job Scheduler

Get the System Design KIT here: https://lnkd.in/dte69Z5N

Practice Verified Codes and Commands

1. Scalable Notification System

  • Use Redis for pub/sub messaging:
    redis-cli subscribe notifications
    
  • Implement a Python-based notification service:
    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.publish('notifications', 'New update available!')
    

2. API Gateway for Atlassian Services

  • Use NGINX as a reverse proxy:
    sudo apt install nginx
    sudo nano /etc/nginx/sites-available/default
    
  • Add proxy configuration:
    location /api/ {
    proxy_pass http://localhost:3000/;
    }
    

3. Logging and Monitoring System

  • Set up ELK Stack (Elasticsearch, Logstash, Kibana):
    sudo apt install elasticsearch logstash kibana
    sudo systemctl start elasticsearch
    
  • Configure Logstash pipeline:
    input { file { path => "/var/log/*.log" } }
    output { elasticsearch { hosts => ["localhost:9200"] } }
    

4. Rate Limiter

  • Implement rate limiting in Node.js using Express:
    [javascript]
    const rateLimit = require(‘express-rate-limit’);
    const limiter = rateLimit({ windowMs: 15 * 60 * 1000, max: 100 });
    app.use(limiter);
    [/javascript]

5. Distributed Messaging System

  • Use Apache Kafka for messaging:
    kafka-topics.sh --create --topic test --bootstrap-server localhost:9092
    
  • Produce and consume messages:
    kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
    kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092
    

What Undercode Say

System design is a critical skill for software developers, especially when preparing for interviews at top tech companies like Atlassian. The ability to design scalable, efficient, and reliable systems is essential for building modern applications. This article provides a comprehensive list of system design questions that cover a wide range of topics, from project management tools to distributed messaging systems.

To excel in system design, it’s important to understand key concepts such as load balancing, caching, database sharding, and microservices architecture. For example, using Redis for caching or NGINX as a reverse proxy can significantly improve system performance. Additionally, tools like Apache Kafka and the ELK Stack are invaluable for building distributed systems and monitoring applications.

For those preparing for interviews, practicing with real-world scenarios is crucial. Implement a notification system using Redis pub/sub, set up an API gateway with NGINX, or build a rate limiter in Node.js. These hands-on exercises will help you gain a deeper understanding of system design principles and prepare you for challenging interview questions.

Finally, always stay updated with the latest technologies and trends in software development. Explore resources like the System Design KIT provided in the article and continue learning through platforms like https://lnkd.in/dte69Z5N. With dedication and practice, you can master system design and advance your career in software development.

Useful Commands for System Design Practice

  • Redis: redis-cli, `redis-server`
  • NGINX: `sudo systemctl restart nginx`
  • Kafka: kafka-topics.sh, `kafka-console-producer.sh`
  • ELK Stack: sudo systemctl start elasticsearch, `logstash -f pipeline.conf`

Keep experimenting, keep building, and keep learning!

References:

Hackers Feeds, Undercode AIFeatured Image

Scroll to Top