Plugin Interview Questions
- Explain in details about the event execution pipeline.
- When do we register a plugin in a child pipeline? give examples
- What are images? Why are they used?
- What is early binding and late binding? How is it used in CRM?
- How do you debug a plugin?
- When an infinite loop occurs in a plugin. How do you avoid infinite loops in the plugin code?
- How do you avoid SQL deadlock?
- if you delete a record from UI, what happens in the database. can you bring the record back?
- what is deletion service? can you change its schedule
- Difference between PlugIn vs Workflow (Asynchronous vs Synchronous)
- for plugin deployment, Difference between GAC, DataBase, Disk deployments.
- Difference between CRM web service Vs CRM.SDKProxy namespaces.
- What are the different operation (Pre Validation, Preoperation & Post operation) in Plugin?
- Difference between Secure & Unsecured Config?
- When we should go with Early binding and when with Late Binding?
- Can we pass data between two Plugins?
- Can we register For-premise plugin in Sandbox mode?
- Different modes of the plugin?
- Why we need to Create Security Key before registered the plugin?
- Alternate Keys in Microsoft Dynamics 365!
- What interface we use a plugin to inherit CRM Services?
- Importance of Secondary Entity in plugin registration tool?
- What security roles need to register the plugin in Online and on-premise both?
- What is filtering Attribute in CRM Plugin Reg Tool?
- What is Tracing Service in Plugin?
- What is the Target Entity, Input and Output Parameter in Plugin?
- Difference between Service.Retrieve and Service.retrieve multiple
- What are different ways (QueryExpression, LINQ,
- FetchXML) to fetch CRM metadata in Plugin? Difference between them?
- Disadvantages of using Query Expressions?
- What is the Execution Time of Sync and Async plugin in CRM?
- Which will execute first in ASync Workflow and Async Plugin?
- How can we call external web service in on-premise and Online plugin CRM?
- What are the different ways available to debug a Plugin (Onprem and Online both)
- Best Practices of CRM Plugin Development (https://msdn.microsoft.com/en-us/library/gg509027.aspx).
- Can we register on-premise plugin in Sandbox mode?
- Why online plugin has to be registered in sandbox mode only?
- What are the different storage locations available to store a plugin?
- What are the DLLs required to register a plugin?
- What is the significance of System.Runtime.serialization.dll in the plugin?
- What information can we get from Plugin Context?
- What is the difference between Plugin Context and Pre-Image?
- How can you get the plugin tracing information in CRM?
- Can we configure our own connection string and credential inside the plugins?
- What are the OOPs concepts use in Dynamics CRM? Tell me with examples?
- Tell me any Example of Inheritance in Dynamics CRM?
- Tell me any Example of Polymorphism in Dynamics CRM?
- Tell me any Example of Abstraction in Dynamics CRM?
- Tell me any Example of Constructor in Dynamics CRM?
- Tell me any Example of Classes and Objects in Dynamics CRM?
- Tell me any Example of Encapsulation in Dynamics CRM?
- What is the execution timeout of Async and Sync Plugin?
- Why the field IsValidForUpdate used for from plugin perspective?
- Can be field security enabled field accessible from Plugin Pre-Images?
- What is the significance of Shared variables?
- Does Impersonation work for Offline Plugins?
- What are the different ways to register a plugin?
- In order to access the external website or page, Do we have provision for prompting the logged on user for credentials or saving those credentials inside a plugin?
- Which will run first Synchronous Workflow (Real-Time Workflow) or Synchronous Plugin?
- Which will run first Asynchronous Workflow or Asynchronous Plugin?
- What happens when we set the execution order of Plugin to \’0\’?
- Which property use to check, whether Plug-ins may or may not execute within the database transaction of the Microsoft Dynamics 365 platform?
- If Async(or Async Workflow) and Sync both plugins are registered on the same entity and event. And Sync Plugin gets failed. What would happen with Async Plugin?
- What are the advantages of Plugins over Workflow(System+Custom) and Vice-Versa? Since both can be written on the server side then what Plugin can do that Workflow can\’t and vice-versa?
- What are the Limitations of Plugins?
- What is Azure Aware Plugins?
- What is the difference between Registering Endpoint and Register Webhook Plugins?
- How can we deploy Endpoint configuration (url, port, header, key etc) from one instance to another in case of Endpoint registration plugins?
Business Rules Interview Questions
- What is Business Rules and why it has been introduced in CRM?
- What is the Scope of Business Rules?
- Does Business Rules work for Record Creation or Save?
- Does Business Rules work during Bulk Import and Bulk Edit?
- Does Business Rules work when plugin record updates, workflow record updates, etc.?
- Does Business Rules work when a record is being created from an external web application?
- Is there any Order to run Business Rules in a Particular field or Entity? How does it work and How to configure the same?
- How Section and Tab can Hide/Show using Business Rules?
- What are the limitations of Business Rules?
- Maximum nuber of if/else statements allowed in BR?
- What is the maximum limit of using If/Else statement in a Business Rules?
- Can we enable the Business Rules on Lookup Fields?
- CRM 365, Developer complaining, business rules are not working. what could be the reasons for that?
Solutions Interview Questions
- What is Managed Properties in Solution?
- Types of Solutions?
- Difference between Managed and Unmanaged Solutions?
- Roles needed to export-import the solution?
- Steps to create a solution in CRM?
- What Is The Difference Between Remove And Delete Buttons On Solution?
- What are the solution patch and cloning?
- How can we delete components from the Managed solution?
Actions Interview Questions:
- What are the Actions? And What is the significance of using it in Dynamics 365?
- Difference between Action and Real-time workflow?
OOPS and ASP.Net Basic Interview Questions
- What is OOPS?
- Write basic concepts of OOPS with Example?
- What is a class?
- What is an object?
- Define a constructor/Destructor?
- What is a virtual function?
- What is function overloading?
- What is function overriding?
- What is an abstract class?
- What is a ternary operator?
- What are different types of arguments?
- What is an interface?
- What is exception handling?
- Difference between overloading and overriding?
- What are access modifiers?
- What are the various types of constructors?
- What is early and late binding?
- Abstract Class
- OOOPs Concepts
- Partial Class
- Static Class
- Sealed Class
Miscellaneous Interview Questions
- On Creation of Entity, How Many Tables will Be created At Back End?
- Difference between Share and Assign?
- Can system admin read the Field Level Security?
- Team vs Access Team?
- Why CRM use Webservice only to interact with the external applications?
- What information IPlugin interface store and what is the significance of the same?
- What are different modes available in order to register a plugin?
- What is the significance of \’Act on Behalf of Another User Privilege\’ in Dynamics 365?
- Suppose I am having Delete Privilege of User Access Level on Account Entity. And my Manager is having Delete Privilege of Organisation Access Level on the same. Now If I work on behalf of my Manager (In either Plugin/Workflow/WEB API etc) then What Access Level I would be having in order to delete the Account?
- Suppose I don\’t have Read Privilege on Account Entity. But my Manager is having that Privilege of Organisation Access Level. Now If I work on behalf of my Manager (In either Plugin/Workflow/WEB API etc) then Will I be able to read the Account Entity records?
- How CRM manage concurrent requests inside plugins?
- What role a User must have to create and activate a real-time workflow?
- Does Real-time Workflow revert the changes if any error occurs during performing any operation?
- What are the stages on which Real Time Workflow works?
- What is the difference between entity.Id and entity.PrimaryEntityId in the plugin?
- When to use Target as an Entity and Target as an EntityReference?
- What are the Limitations of Muti Select Fields in D365?
- Can add up to 150 values available in Multi Select Fields?
- Is it possible to trigger a Plugin on change of rollup and calculated field??
- Is it possible to trigger a workflow on change of rollup and calculated field??
- If you use Column Set(true) and perform service.Update(obj), will it update all column?
- Which one is faster. Set in Descending order – Query Expression, Fetch XML, LINQ?
- Best Practices – Maximum number of fields on an entity?
- Difference between Primary Field and Primary Key in CRM Form?
- How many custom primary keys you can create in crm?
- Filtered View?
- Role of Technical Lead?
- BRD vs FRD vs FDD vs TDD?
- What is your biggest weakness?
- Agile or Waterfall which one is better?
- Difference between Functional and Technical Consultant Role?
- How to handle fresher team being a Team Lead?
- Most challenging task and situation that you handled and how did you handle that?
- Difference between Waterfall/Agile and DevOps?
- How to decide whether should I go with Agile or Waterfall?
- Tell me the Sprint Process?
- What is the process when you not able to complete user story in a particular sprint?
- Example of fetch xml in portal?
- How can we brand portal for different group of people?
- How can we pull other system/applications data in Portal?
- What is Solution Principles in software developments?
- Being a Team Lead what is your way of working?
- Difference between Build and Release?
- What is the best way to store all plugins classes in visual studio?
- How to do Unit Testing in Dynamics 365?
- What is Apps in Dynamics 365?
- Difference between Model Driven and Canvas App?
- What is the design to Hide/Show View based on Security Roles?
- How Localized string/ Custom error messages work in Plugin/Workflow in case of multi language crm?
- Update 1Lakh + child records based on Parent record without using relationships?
- Difference between Register Endpoints and Register Web hook?
- How we can migrate Endpoint information from one instance to another while exporting/Importing solution in Dynamics 365?
- What is the best way to delete components from Managed Solution?
- Latest Enhancement and Feature of Dynamics 365 from Developer Perspective?
- What are the Language translation options in Dynamics 365?
- What else you do along with office work to make good environment in the team?
- How do you motivate your team?
- How to expose custom entity on Portal?
- What is the way to Push data in CRM except entity form on portal?
- Connections vs Relationship in dynamics 365?
- Question: What is the use of Secondary Entity within Plugin Registration Tool in MSCRM 2011?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/significance-of-secondary-entity-in.html
Question: What is the use of String Map Table in MSCRM?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/use-of-string-map-table-in-mscrm.html
Question: Difference between Asynchronous Plugin and Workflow?
Answer : http://arpitmscrmhunt.blogspot.in/2014/06/difference-between-asynchronous-plugin.html
Question: Tell me types of Entity and What are Organisation Type in Entity?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/overview-of-entity-in-mscrm.html
Question: How to retrieve records from Entity having N: N Relationship?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/retrieve-nn-relationship-records-by.html
Question: How many types of Relationships and Relationship Behavior exist in MSCRM?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/relationship-behavior-in-mscrm_25.html
Question: Have you ever faced a Performance related issue in MSCRM, How you have resolved it?
Answer : http://arpitmscrmhunt.blogspot.in/2014/04/overcome-crm-slowness-and-optimization.html
Question: What is the difference between FIND and ADVANCED FIND in MSCRM? Which is Faster?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/find-vs-advanced-find-in-mscrm.html
Question: Where Plug-In store in MSCRM or Where the Plug-In information stored in MSCRM?
Answer : http://arpitmscrmhunt.blogspot.in/2014/04/plugin-assembly-table-in-mscrm.html
Question: How many possible ways to register a Plug-In in MSCRM?
Answer: 1. Plugin Registration Tool. 2. Solution Export/Import 3.Developer Tool Kit
Question: What is SCOPE in MSCRM system workflow and why it is used for?
Answer: In MSCRM workflow has 4 Scope available as mentioned below
1. User – WF will only run for those record whose owner is WF owner itself or Logged in User only.
2. Business Unit: WF will only run for those record whose owner is in the same BU of WF owner.
3. Parent-Child Business Unit: WF will only run for those record whose owner is in the Child BU of WF owner BU
4. Organisation: WF will run for all records in organization regardless of owner
Question: What is the use of Ownership while creating Entity in MSCRM?
Answer : http://arpitmscrmhunt.blogspot.in/2014/05/overview-of-entity-in-mscrm.html
Question: What is the difference in fields in User or Team owned Entity and Organisation Owned Entity?
Answer: There is no \’Owner\’ field available on the form when you create an Entity has Organisation Ownership. while in User or Team Owned Entity this field will be available.
Below are the screenshots which will clear what exactly happens:
Organisation owned Entity Fields (No Owner field exists) :
User or Team owned Entity Fields :
Question: Can System Admin Create, Update, Delete the Personnel View of other User?
In MSCRM, each user has User Access Level on Saved Views(Personnel View), even System Admin cannot do any operation on Personnel View see below:
Question: Why MSCRM? Since so many CRM available in the market like ERP, SAP, SIEBEL etc But How MSCRM is different from others?
Answer: World-class customer experiences begin with your people. By giving your people the right tools to multiply their productivity, multiply their impact, they can drive your organization to achieve your goals, multiply your revenue, and multiply your customers.
The top reasons, why organizations choose Microsoft Dynamics CRM instead of other CRM to create world-class customer: Ease of Use :
Since MSCRM is a Microsoft product which is very similar & integrated with other Microsoft Products Like MS Word, MS Excel, MS Outlook, MS SharePoint, Internet Explorer etc, so it is very familiar to all those businessmen who use to spend 70% of his time on these tools, To understand this CRM no additional tool need to learn, no additional software needs to be install. Anyone could easily learn MSCRM with little training.
In other words, we can also say that
it integrates with Microsoft Business Solutions for Financial Management, Microsoft Office, and other systems that you get a complete picture of your customer.
It\’s important to note just how easy it is to integrate Microsoft CRM with Microsoft Office. Because it is so easy it enables your employees to access Microsoft Dynamics CRM right from their Microsoft Office Outlook whether they are working online or offline. It\’s a great tool for your sales department and it takes little training to make it happen. Dynamic : Since MSCRM hide Dynamic word inside itself its abbreviate as \’Microsoft Dynamic CRM\’. We can extend it at any level. Microsoft itself provides three modules (Sales, Marketing & Service). But anyone could add its own module. Apart from this MSCRM is easily integration with other MS Products as well as various third-party tool like Ava-ya etc.
Three Deployment Options : MSCRM is the only CRM product available in the market who have 3 Deployment options, On-Premise, Online, and IFD (Internet Facing Deployment).
The Cloud :Microsoft invests over $2 billion US dollars in cloud infrastructure every year. Microsoft Dynamics CRM is one of the quickest and one of the easiest ways for your business to take advantage of the cloud and cloud economies, including helping to reduce systems management and maintenance costs as well as meaning you pay only for the capacity you need.
Value :When considering costs—including licensing, services, training, deployment, administration and maintenance — customers, media, and industry analysts regard Microsoft Dynamics CRM as one of the best value offerings in the industry.
Language Support :MSCRM is only product available in the market which is Available in more than 40 languages.
Access Clients :MSCRM is the only product in the market which could be accessible through Mobile, Outlook and Web client. MSCRM 2013 also accessible from Tablet also.
.Net DevelopmentPlatform : MSCRM use .net framework. All Plug-Ins, Custom WF has written in either C# or VB. Even the whole MSCRM Pages, forms has designed in .net(.aspx page). So it\’s easy for the .net developer to write code in MSCRM and make it understandable for itself.
Question: Can we customize SVCUTIl.exe class of MSCRM or Can we create our custom Early binding class for few entities?
Question: Difference between Query Expression and Query by Attribute?
Question: What is Dynamic Entity in Dynamics CRM?
Question: What is Security Depth Dynamic CRM?
Question: Can we Export Vanilla Solution from Dynamic CRM?
Question: What is Inherited Security Role in MSCRM?
Question: What is Data Impersonation in MSCRM?
Question: if you change BU of any CRM user is it mandatory to change security role for that user?
Question: Difference between System Administrator and System Customizer Security Role in Dynamic CRM?
Question: Advantages of using Web Service in C#?
Question: Address, Binding and Contract Web Service in C#?
Question: How can we restrict any \’Entity Field\’ from being shown in Advanced Find?
Answer: Using Searchable Property of attribute(Entity Field.
Did you know that you can set each attribute of each entity to be able to advanced find or not?
By doing this you can specify which fields the users can search on. That means that all the fields which you do not use in your CRM system can be removed from the list to make using the advanced find easier.
So how do you do this? Just:
– go to system
– customize entities
– select any entity
– go to the tab attributes
– select any attribute
– switch the flag \’Searchable\’
Can we do the same using Field Security Profile?
The answer is NO, the difference is described below:
if user A is added to Field level profile where he is not able to read field A then when user A does the advanced find, system will display this column in advanced find but it will be blank column (meaning the user will not see/read the value and field level security will be applied). Question: How can we restrict any \’Entity\’ from being shown in Advanced Find?
Answer; Using Security Role:
Best way to achieve this applies security settings if you remove the read/view permission of unused entity in CRM security, then those entities will not available.
But if you have read privilege on the entity and still you want that entity not to be shown in Advanced find or If you want permanently hide entity from Advanced Find then there is no supported way.
But there is an unsupported way to achieve the same. CRM exposes below Boolean property in EntityMetadata to identify which entity should appear in Advanced Find.
EntityMetadata.IsValidForAdvancedFind Property – Gets or sets whether the entity is will be shown in Advanced Find.
AttributeMetadata.IsValidForAdvancedFind Property – Gets or sets the property that determines whether the attribute appears in Advanced Find.
Try below query to hide Account entity from Advanced Find.
update MetadataSchema.Entity set IsValidForAdvancedFind = 0 where Name = \’account\’
update MetadataSchema.Relationship set IsValidForAdvancedFind = 0
where ReferencingEntityId = (select MetadataSchema.Entity.EntityId from MetadataSchema.Entity where Name = \’account\’)
and IsValidForAdvancedFind = 1
Reset IIS and clear server(and client) cache.
This will hide the entity for all users on the Advanced Find.
Question: When do we register a plugin in the child pipeline. give examples?
Question: What are images. What are its types and Why are they used?
Question: What are images. Why are they used. ?
Question: When can infinite loop occur in a plugin. How do you avoid infinite loops in the plugin code?
Question: what is filtered views?
Question: if you delete a record from UI, what happens in the database. can you bring the record back?
Question: What is deletion service? Can you change its schedule?
Apologies in advance for not providing answers of these question. I did that intentionally because I didn’t want to explain the answer theoretically and in few lines only. I would like you to google the answers and read lot of articles about each topic/question and collect the information as much as you can (like I do, if I want to learn about any topic). This is the best way to prepare yourself for the interview. This is my advise especially for those who didn’t work much in Microsoft Dynamics CRM and have less practical exposure. Today, Interviewer seems not interested to listen the scripted answers or theoretically definition. (Especially a Interviewer like me😄) They always expect the answers with practical or real time examples. That knowledge & confidence you will only get once you do the RnD and find stuff about each topic yourself. Nevertheless, I did write few articles to provide answers of few interview questions, however, due to lack of time I couldn’t provide for all. I am still working on it though. Meanwhile, you can get in touch with me anytime if you find any trouble to find the answers.
Wish you all the very best and good luck….👍✌
Get new content delivered directly to your inbox.