Total Questions : 20
Expected Time : 20 Minutes

1. What is the purpose of the 'mut' keyword in Rust?

2. How does Rust handle concurrency, and what is the significance of ownership in concurrent programming?

3. How is error handling typically done in Rust?

4. In Rust, what is the purpose of the 'borrow checker'?

5. In Rust, what is the role of the 'mod' keyword?

6. Explain the concept of lifetimes in Rust and their role in the borrow checker.

7. Which attribute is used to mark functions that should be called on program start?

8. Which attribute is used to mark a function as an asynchronous task in Rust?

9. What is the purpose of the 'as' keyword in Rust?

10. Which Rust macro is used for creating a 'match' expression?

11. Which Rust keyword is used to declare a variable binding?

12. What is the ownership system in Rust, and how does it prevent memory issues?

13. How does Rust achieve zero-cost abstractions and what is the significance of the ownership model in this context?

14. What is the main purpose of a Cargo.toml file in Rust projects?

15. How does Rust ensure memory safety without garbage collection?

16. In Rust, how do you declare and instantiate a new struct?

17. Which Rust keyword is used to create a new instance of a struct?

18. How do you create a new Rust project using Cargo?

19. Which Rust construct is used for concurrent programming?

20. In Rust, what does the 'Option' type represent?