|Be Confident !!!
Most CRM developers are switching their company for better career growth but its quite tricky to crack the technical round of interview. So here I have compiled all possible questions that are frequently asked.Interviews normally ask questions related to Dynamics CRM, C#,NET, SSIS, SSRS.You should have a sound knowledge on Functional part of the product and the technical extensiblilty scopes.
Tell me about yourself ?
- This is a very typical generic question the interviewers ask to check your communication skills and career history. Tell the honest answer focusing the experience and career. E.g. I am Robin Keast and I pursued my B.Tech.in IT from Oxford university in 2010. I am having 5+ years of in-depth experience working in Dynamics 365 technology. I worked as a Technical Consultant in CRM projects. I have practical experiences on CRM customization and configuration. So that’s all about me.
- NOTE : Keep the answer simple and short. The interviewer is not interested to know about your personal life history. So focus on the job you are applying for and speak the related statements as much as you can with honesty.
Have you faced any challenges in your last project ?
- Be honest answering this question as you can get caught if tell some unconventional challenges.Speak the truth. E.g. I faced a typical challenges in my last project. We found the production CRM environment very slow because of heavy customization and lots of external/internal integrations. This was a challenge for me and our team to address this issue and as the system was very complex with so many integrations and overloaded customization, we found this challenging in sorting out the issue.
- NOTE: There are many challenges while developing CRM solutions and extensions. So speak the correct challenges you faced. If there was no challenges just speak as there was no challenges working in my last project.
Can you tell me something about Dynamics CRM?
- Here speak the fundamental concept of CRM. E.g. Dynamics CRM is a customer relationship management application which provides out-of-the box business entities required to manage customer data. It provides a robust Sales module functionality which eases the lead capture and creates opportunities for the business.A special powered Marketing modules is used to lunch campaigns and target the customers for new opportunities. The customer service module provides a world class functionality by which business can serve the customer without any complaint which generates customer goodwill.So Dynamics CRM is a powerful tool in modern business customer management.
- NOTE: Read the fundamental concept of Dynamics CRM and its modules. Speak the answer in a limited statement, do not elaborate. Interviewer wants to know if you are fundamentally clear about CRM or not.
What is the difference between customization & Configuration?
- The answer for this question should explain the configuration scope and customization scopes of CRM. E.g. Dynamics CRM provides a very flexible configuration environment by which end users or admin users can configure the required business processes to fit the business need. Like creating a workflow, creating a dialog, setting up a duplicate detection rule, configuring a business rule, setting up a business process flow, Audit setup, user configuration, security role configuration etc. For these configurations user do not require to be expert in programming language or CRM SDK. But to do extended changes like writing plugins, Writing custom workflows, changing form scripts etc, it requires programming knowledge, these are called as customization. As Dynamics CRM provides a wide scope in configuration and customization to do a specific task, so it is recommended to think configuration first before customization.
- NOTE: The interviewer wants know if you are expert in configuration and customization both.
What is a Plugin?
- This question focuses on fundamental of Plugins. E.g. Plugin is a custom business logic which modifies the default CRM behavior. Technically these are .net assemblies which are output of class library applications in .net. Plugins are registered in CRM platform against some events like create, update,delete etc of CRM entities to achieve some more extended task as per the business need. This requires .net Programming knowledge with CRM SDK concepts.
- NOTE: Do not elaborate more as the question only focus on fundamental concept.
What is Event Pipeline Execution Model?
- The answer should be as specified. E.g. The Microsoft Dynamics 365 event processing subsystem executes plug-ins based on a message pipeline execution model. This is a execution model which defines the stages a plugin is treated in the CRM platform.A user action in the Microsoft Dynamics 365 Web application or an SDK method call by a plug-in or other application results in a message being sent to the organization Web service. The message contains business entity information and core operation information. The message is passed through the event execution pipeline where it can be read or modified by the platform core operation and any registered plug-ins. The event pipeline is divided into multiple stages, of which 4 are available to register custom developed or 3rd party plug-ins. Multiple plug-ins that are registered in each stage can be further be ordered (ranked) within that stage during plug-in registration. The stages are Pre-Validation, Pre-Operation, Core Operation, Post-Operation.
- NOTE: The interviewer wants to know if you are fundamentally clear on plugin execution model.
What is a Workflow ?
- Workflow enables automation of business processes during which documents, information, or tasks are passed from one party to another and actions are performed according to a set of rules. Workflow provides many out-of-the-box components that business users and administrators can use to model their business processes. Microsoft Dynamics CRM offers developers a new mechanism to extend and customize the standard behavior to achieve the functionality that their business applications require.
What is Difference between CRM 2011 Plugin and Workflow ?
|Execution before or after the core platform operation (Create, Update, Delete, and so on)||Executes immediately before or after the core operation (synchronous).Can also be queued to execute after the core operation (asynchronous).||Queued to execute after the core operation (always asynchronous).|
|Performance impact on the server||Synchronous plug-ins can increase the platform’s response time because they are part of the main platform processing.Asynchronous plug-ins have less impact on server response time because the code is run in a different process.||Less impact on server response time because the code is run in a different process.|
|Security restrictions||To register a plug-in with the platform requires a System Admin or System Customizer security role and membership in the Deployment Administrator group.||Users can interactively create workflows in the Web application.However, to register a custom workflow activity, the deploying user must have the same security roles as those required for registering plug-ins.|
|Microsoft Dynamics CRM version (SKU) support||Supported in Microsoft Dynamics CRM Online when registered in the sandbox. May be supported in partner-hosted installations at the discretion of the partner.||Workflows without custom workflow activities are supported by all product versions. Custom workflow activities are not supported on Microsoft Dynamics CRM Online.|
|Length of processing time||A plug-in registered for synchronous or asynchronous execution is restricted to complete its execution within a 2 minute time limit.||Works well for either short or long processes.|
|Works when the Microsoft Dynamics CRM for Outlook client is offline||Both online and offline are supported.||Workflows do not execute when offline.|
|Process and data persistence||Plug-ins execute to completion. Plug-ins must be written to be stateless where no in-memory data is persisted.||Workflows can be paused, postponed, canceled, and resumed through SDK calls or by the user through the Web application. The state of the workflow is automatically saved before it is paused or postponed.|
|Impersonation||Plug-ins can perform data operations on behalf of another system user.||Workflows cannot use impersonation.|
Additional Notes : Workflows and by extension, Custom Workflow Activities, execute totally asynchronously.But in CRM 2013 above the workflows can run realtime. Plugins can execute both asynchronously and synchronously.Workflows can be manually executed, or automatically triggered by selected events. Workflows can be limited to automatically execute within specific organizational scopes (ie. Org, BU, Parent and Child BUs, or for the Owner only). Plugins are always triggered by the messages to which they’re subscribed, though some Messages allow limiting execution based on whether certain attributes have been passed into the Message.Workflows can be turned off (by unpublishing).Plugins are always on. Custom workflow activities can be used in many Workflows. Workflows can be developed through the Workflow design interface. Plugins must be developed in Visual Studio.Workflows do not require compiling (though custom workflow activities do).
Plugins and custom workflow activities must be compiled and deployed through processes external to CRM. In short: though only asynchronous in nature, Workflows allow an unimpeachable degree of flexibility and ease of configuration which Plugins do not afford, and their administration can be granted to power users of CRM without necessary access to the server or platform code. Plugins offer the highest degree of security and performance and surpass Workflows in capability and ability to augment platform operations.
When speed of execution, security of process, and validity of data are integral, I choose Plugins. When flexibility, functionality reuse, and optional user involvement are integral, I choose Workflows.
When We Use Plugin, workflow or dialog in CRM 2011 in Real Scenarios ?
|Criteria||Use Plugin||Use Workflow||Use Dialog|
|Needs custom logic to executesynchronously.||Plugins support synchronous execution.||Dialogs always execute synchronously.|
|The logic needs to be executed whileoffline||Only plugins are supported offline.|
|Needs elevation of privileges (impersonation)||In the plugin step, you can select the user under which the plugin will execute by setting the impersonating user id in the plugin step.||In some cases you can control under which user the workflow will execute by assigning the workflow to that user.|
|Needs to execute onevents other than assign, create, update and set state||Can be registered on a large list of sdk messages.|
|The process/logic may take a long time to complete or will be a persistentprocess (multiple long running steps)||Workflows have no limit on the length of time they can take to complete execution. They can also persist (pause) and resume at a later date. Plugins have a time limit of a couple of minutes to complete (even asynchronous plugins).|
|Needs to executeasynchronously||Plugins support asynchronous execution||Workflows support asynchronous execution|
|End users will need to modify the process logic||Processes can be modified using the CRM process designer in the application and does not require IT administrators to re-compile and deploy a plugin assembly.|
|Child sub processeswill be triggered||CRM processes support executing child processes|
|Needs to readconfiguration parameters for execution||You can make use of the configuration and secure configuration settings in the plugin step. These values will be passed to the plugin constructor and can be easily updated.||Dialogs cannot be configured with configuration parameters but they can retrieve configuration information from user responses / interactions.|
|Need to execute logicon-demand||Workflows and dialogs can be executed on-demand. Plugins can only be triggered as a result of a specified action to which the plugin step is configured.|
|Needs to roll back transaction in case of error (useful for validation)||Plugins can be registered in-transaction so they are able to roll-back the main operation if the plugin fails. Workflows are executed post-transaction so they cannot roll back the main operation.|
|The plugin/workflow logic is not possible to implement by using the CRM process designer||Plugins are written in .NET and this supports any action that can be achieved using the CRM SDK.||You can extend workflows/dialogs by creating a custom workflow activity which is also written in .NET calling any method from the CRM SDK. However, this is not supported in CRM Online yet.|
|Interaction with user is required to execute the custom logic||CRM dialogs support the execution of a process which dynamically takes input from question asked to the user.|
|Need custom logic to execute before the main operation||Only plugins can be registered to execute pre- main operation.|
|Need to gather data from the entity pre-image (image of the entity before the main operation)||You can register pre-images for plugin steps.||Pre-image is available only from custom workflow activities (not supported in CRM Online)|
|Need to gather data from the entity post-image (image of the entity after the main operation)||You can register post-images for plugin steps.||Post image is available from the process designer in the CRM application.|
|Needs to be packaged into asolution||Plugins and processes are solution aware|
|Need to usevariables to store temporary data||Use the SharedVariables collection to store variables that can be passed to other plugins.||Use the SharedVariables collection to store variables that can be passed to other workflow steps. These variables do not survive persistence and can only be used from custom workflow activities. Not supported in CRM Online.||Dialog support variables of type string, int and float that can be passed from one step to another. For other types, SharedVariables can be used from custom workflow activity.|
What is a CRM Solution?
- CRM Solution is a container of customization. Using solutions we can package different types of customization components such as entities,security roles, plugins, workflows etc. into one zip file and we can distribute the solution to other environments or other organizations.
How many database gets created after CRM Installation?
- Two databases are created when CRM gets installed.
- Two databases are created when CRM gets installed.
Updating more to the list…
Thank You. Please Follow & Subscribe the Youtube channel for more info.