WCG Senior .Net Developer Real-Time Assessment 2024 The aim of this assessment is to gauge the applicant’s proficiency in the skills and competencies required for the role of a Senior .NET Developer to be based at Western Cape Government. This assessment is designed to evaluate your technical and practical knowledge in .NET development, specifically in C#, SQL Server, MVC 4, Entity Framework, Angular, and Azure Cloud. You have 40 minutes to complete this assessment. Please provide your answers in a clear and concise manner. The assessment is worth 45 marks in total. Instructions: 1. Ensure you have a stable internet connection 2. Read each question carefully. 3. Answer all questions to the best of your ability within the given time frame. 4. Do not use external help. SECTION 1: MULTIPLE CHOICE QUESTIONS (8 marks) 1. Azure Cloud: Which Azure service is best suited for microservices deployment? (1 mark)*Azure Blob StorageAzure Virtual MachinesAzure Kubernetes Service (AKS)Azure App Service 2. .NET and C#: In C#, which keyword is used to ensure that a method is overridden in a derived class? (1 mark)*virtualoverridenewbase 3. Angular: Which Angular feature is used for two-way data binding? (1 mark)*[(ngModel)][ngModel](ngModelChange){{ngModel}} 4. Entity Framework: What is the purpose of the DbContext class in Entity Framework? (1 mark)*To map C# objects to database tables.To establish a connection with the database.To enable interaction with the underlying database using models.To generate SQL queries. 5. Batch Processing: Which .NET namespace is commonly used for batch processing of large datasets? (1 mark)*System.DataSystem.Threading.TasksSystem.Collections.GenericSystem.IO 6. Which Angular feature is best suited for creating reusable UI components? (1 mark)ServicesModulesDirectivesComponents 7. What is the advantage of using Microservices in application development? (1 mark) Faster data processingEasier to scale and maintainMore secureCheaper hosting 8. What is the main use of Azure Functions? (1 mark)Data storageServerless computingMachine learningNetworking SECTION 2: SHORT ANSWER QUESTIONS (14 marks) 1. Describe how you would deploy a .NET web application to Azure, ensuring scalability and reliability. (6 marks)* 2. Describe the role of the Model, View, and Controller in the MVC architecture. (4 marks)* 3. What strategy would you use to handle a large dataset in batch processing to avoid performance bottlenecks? (4 marks)* SECTION 3: CODING QUESTIONS (23 marks) Question 1: (6 marks) Scenario: You need to create a RESTful API using ASP.NET Core that allows users to manage a list of tasks. Each task should have an ID, title, description, and status (e.g., pending, completed). The API should allow users to add, retrieve, update, and delete tasks.Task: Write the C# method signatures for the API controller that would support these operations, including the necessary routes. Assume that you have a Task model already defined. Question 2: SQL Server (6 marks)Write an SQL query to create a table Employees with the following columns: EmployeeID (int, primary key), Name (nvarchar(100)), DepartmentID (int), and DateJoined (datetime). Question 3: Develop a simple RESTful API using .NET Core that retrieves a list of users from a mock database (in-memory list) and allows adding new users. (6 marks) The user should have at least Id, Name, and Email fields. Create an Angular component called UserListComponent that fetches and displays a list of user names in a bullet-point format. Assume the existence of a service method getUserNames() which returns an array of strings representing user names.Expected Deliverables:– Angular component code for UserListComponent.– Basic template to display the user names. Question 4: For the Western Cape Government’s e-Procurement System (EPS), you are tasked with demonstrating a fundamental feature using Blazor. You will create a small prototype feature as a proof of concept. (5 marks) Task:Component Creation:– Develop a simple Blazor component named QuickAddProduct.– The component should include form fields to input a Product Name, Product ID, and Quantity.Form Validation:– Ensure each field is required.– Add a simple validation that Product ID is alphanumeric and Quantity is a positive integer.Event Handling:– Add a button to submit the form. Upon clicking this button, display an alert with the entered Product Name and Quantity (validation should pass).Styling:– Apply minimal CSS to make the form fields and the button visually distinct.Submission:– Provide the source code for the QuickAddProduct component, including the Razor markup and any required C# code for validation and event handling.– Ensure the code is formatted and commented for clarity. Full Name* Email Address* Acknowledgement: By submitting this assessment, you consent to the collection, processing, and storage of your personal information for the purpose(s) of this application Submit