Introduction
This blog post is purely based on my personal experience and only intended to provide information on what to be expected from the candidate when you are preparing for Dynamics CRM CE Hands-on interview round for the Consultant role at Microsoft.
It started with my introduction and then some basic questions on Dynamics CRM Customer Engagement which I listed below,
- What is Parent Context in plugin?
- When do we use Pre-validation plugin?
- What is parallel processing?
- Explain Change Tracking feature
Once I have explained answers to all the above questions, the interviewer asked couple of scenario based questions which are listed below,
- Design a system for Two Way data sync in Dynamics CRM. Let's say we have a legacy system and Dynamics CRM system, business wants to slowly migrate users from Legacy system to CRM Dynamics system. Records should be synced between these two systems in near real time. I was given 15 minutes to come up with the design solution and explain it to interviewer.
- Apple has many stores and each store will have employees in it. Design a system in such a way that when Admin moves user from one store to another, records assigned to that user will be assigned to Area Manager after 2 days of user movement and user should not have access to those records.
After explaining design solutons to above questions/requirements, I was told to implement full working demo solution in Dynamics CRM for below requirements,
Employee Management System Create a Entity Employee with following fields,
- Employee ID – Single line of text
- Company – Account Lookup
- Emergency Contact – Contact lookup
- Mobile – Single line of text
- Language known – Multi Select (Add any five language)
- Department – Option set(HR, IT, Operations)
- Is Full Time employee – Two Option
- Date of Birth – Date
- Salary – Currency
- Age – whole Number
Consider following scenario implement sequential auto number for Employee ID. Employee ID Should be unique. Auto Number implementation should be custom and not OOB.
Create a console application to import the data from excel sheet. Excel sheet has the column of the employee record in dynamics.
Read data from excel sheet in console application.
Create/update record in dynamics based on employee ID.
If any new column is added to the employee entity, there is no need to change the code. Console application should automatically do the mapping based on the column in excel sheet.
If there is any failure while creating the record, application should retry.
There should be robust retry mechanism & error handling.
I was asked by interviewer to come up with efforts in hours to complete full working demo, I told it will take 3 hours to complete and given only 2.5 hours including Data Model changes.
The key point in the requirement is to create a generic solution which will cover below requirement from original requirement.
If any new column added to the employee entity, there is no need to change the code. Console application should automatically do the mapping based on the column in excel sheet.
I am not going to provide solution for the above requirement in this blog post. If you want to know how can we achieve this requirement, please feel free to reach out to me on Linkedin/Twitter.
To implement Sequence Auto number, please check out below blog post for detailed walkthrough.
https://softchief.com/2021/08/17/auto-number-in-dynamics-365-plugin-or-dataverse-plugin/
Note
- Make sure you follow proper coding standard when writing C# code while implementing the solution. This was the primary reason for my rejection, so please follow coding guideline which is explained here
- Even if you are not able to complete any of the requirements, make sure you convey your thought process and design solution to an interviewer
- You can use google during your interview process when you were asked to implement the requirements
- Code should be simple and concise. Do not try to complicate things in your logic, keep it simple and short
Hope this helps anyone who is appearing for Dynamics CRM CE interview at Microsoft.
Happy Blogging!