DailyQuiz
About today's quiz

Programming — Advanced

A new quiz is published every day for this topic and level. Answer the questions, read the explanations, and complete the quiz to keep your streak alive.

Tips before you start

  • •Read every question carefully before answering. Some questions include subtle wording that changes the correct answer.
  • •Take your time on the first question. There is no time limit, but your total time is tracked for your statistics.
  • •After each answer, read the explanation. Even correct answers often include useful context you might not know.
  • •Come back tomorrow for a brand new quiz on the same topic. Daily practice is the most effective way to retain what you learn.
AdvancedTechnology
Today's questions

Today's quiz questions

These are the questions that make up today's quiz. Test your knowledge, see how much you know, and learn from the explanation behind every answer.

  1. 1.What is the purpose of a message queue like RabbitMQ or Kafka?

    • •To enable asynchronous communication between services by buffering and routing messages
    • •To encrypt communication between servers
    • •To store large amounts of data permanently
    • •To balance network traffic across multiple servers
  2. 2.What is the reactor pattern?

    • •An event-driven pattern that demultiplexes and dispatches incoming I/O events to registered handlers using a single-threaded event loop
    • •A nuclear physics simulation pattern
    • •The underlying pattern of React.js components
    • •A pattern where components react to configuration changes
  3. 3.What is the difference between monorepo and polyrepo?

    • •Monorepo uses one language; polyrepo allows multiple languages
    • •Monorepo is for monolithic apps; polyrepo is for microservices
    • •Monorepo is managed by one team; polyrepo by multiple teams
    • •Monorepo stores all projects in one repository; polyrepo uses separate repositories for each project
  4. 4.What is backpressure in reactive systems?

    • •Network congestion caused by too many simultaneous connections
    • •Memory pressure caused by too many background processes
    • •A load balancing technique that redirects traffic during peak hours
    • •A flow control mechanism where consumers signal producers to slow down when they can't keep up with the data rate
  5. 5.What is the difference between stateful and stateless services?

    • •Stateful services are more secure than stateless ones
    • •Stateful services use databases; stateless services don't
    • •Stateless services don't store client state between requests; stateful services maintain client state across requests
    • •Stateless services are always faster than stateful ones
  6. 6.What is dependency injection?

    • •A method for importing libraries in a project
    • •A technique for injecting code at runtime for debugging
    • •A way to automatically install software dependencies
    • •A design pattern where an object receives its dependencies from an external source rather than creating them
  7. 7.What is the difference between strong and weak typing?

    • •Strong typing enforces type rules strictly (Python, Java); weak typing allows implicit type coercion (JavaScript, C)
    • •Strong typing is for compiled languages; weak typing is for interpreted languages
    • •Strong typing is faster; weak typing is slower
    • •Strong typing requires type annotations; weak typing doesn't
  8. 8.What is a lock-free data structure?

    • •A data structure without access restrictions
    • •A concurrent data structure that guarantees system-wide progress without using mutex locks, using atomic operations instead
    • •A data structure that doesn't require initialization
    • •A data structure that cannot be modified after creation
  9. 9.What is zero-copy I/O?

    • •An I/O operation that doesn't write any data
    • •A backup strategy that uses delta encoding
    • •A technique that transfers data between file descriptors without copying through user space, reducing CPU overhead
    • •A file system that prevents data duplication
  10. 10.What are algebraic data types (ADTs)?

    • •A type system specific to functional programming languages
    • •Data types that only support algebraic operations (addition, multiplication)
    • •Composite types formed by combining other types using sum types (OR) and product types (AND)
    • •Mathematical formulas used to calculate type sizes