Skip to main content

Posts

Senior .Net Developer Interview questions

Senior .Net Developer Interview questions I have listed down some of the common .Net interview questions for Senior developer positions which will be helpful for someone who wants to brush up quickly before interviews. The topics that are covered are below, C#, OOPS, LINQ, ENTITY FRAMEWORK, SQL, .NET, DESIGN PATTERNS, ASP.NET, ASP.NET MVC, WCF, WEB API, REST, .NET CORE, JAVASCRIPT, JQUERY, ADO.NET, ANGULAR, ANGULAR JS, MONGO DB Explain SOLID Design principles in C#? Explain the 12-factor app methodology? Could you explain OWASP top 10 security risks and vulnerabilities? What are extension methods and how to define it? What is Dependency Injection(DI) and tools used for DI? Explain CLR in .Net and its functions? What is a .Net Web Service? What are generics and generic collections in C# and why we use it? What data types are applicable or can be passed in generics? What are dynamic types in C#? Please describe the use case? What is a strong-named assembly in .NET and what is t...

Difference between Observables and Promises

Observables vs Promises Asynchronous programming in JavaScript can be achieved by using -  Callbacks, Promises, async/await, RxJs Observables  Observables are used to transfer messages between publishers and subscribers in your applications. Observables are a part of RxJs(Reactive extensions for javascript) which is a library for reactive programming using observables. Angular uses observables for a lot of asynchronous programming and event handling. For example, For transmitting data between components - EventEmitter extends RxJs Subject and exposes a emit() method to send values to the subscribers. Angular HTTP Module uses observables to handle AJAX requests and responses - Angular Httpclient returns an observable when making HTTP calls ex. http.get('URL') returns an observable. Few Advantages are the requests can be cancelled through the unsubscribe method, failed requests are retired easily) The ROUTER and FORMS module use observables to listen and respon...

How to improve Application Stability in .Net Core Applications

How to improve Application Stability in .Net Core Applications Application stability becomes an important factor for an application to succeed in the long run. If an application is stable, it means there are fewer production issues or if any issue arises they are resolved quickly. But, what should be done to keep an application stable apart from writing new code for new features in the application. Here are a few things that you can do, Write Unit tests and improve code coverage (> 80%) Write more automation tests using testing tools like selenium, protractor Perform Performance, load and stress testing to identify the threshold volume the app can handle and can auto-scale as per needs (Tools: JMeter) Its also important that we maintain a tech debt epic and add stories that need changes to the application like refactoring the code, or fixing some performance lags in a hot spot in code which we might not be able to do as part of the normal sprint work. And, allocate 20% of every ...

Mongo DB Conditional Serialization

Mongo DB - Conditional Serialization Sometimes, the documents retrieved from the database should be serialized differently for different conditions. We can make use of the below technique to do that, public class Company {     public ObjectId Id { get; set; }     [BsonDateTimeOptions(DateOnly = true)]     public DateTime JoiningDate { get; set; }     public bool ShouldSerializeJoiningDate() {         return JoiningDate > new DateTime(1900, 1, 1);     } } For more information on conditional serialization, refer the Mongo DB documentation below https://mongodb.github.io/mongo-csharp-driver/1.11/serialization/

Git Shortcuts and Bash Aliases

Git Shortcuts that come in handy during development to make things easier.  Edit  /.gitconfig and add a section like below: [alias]     co=checkout     cob=checkout -b     br=branch     brd=branch -d     brD=branch -D     st=status     cm=commit -m     unstage=reset --soft HEAD^     ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cvlue\\ [%cn]" --decorate     ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cvlue\\ [%cn]" --decorate -- numstat     la="!git config -l | grep alias | cut -c 7-" Adding Bash aliases -  Edit /.bashrc as below, echo ".bashrc running..." alias al='source C:\\Users\\{{username}}\\.bashrc' alias cdgit = 'cd C:\\Git' {{similarly you can all shortcutes to your workspaces for easy navigation}} alias gcd='git checkout develop ; git status' alias gs='git status' alias g='git' alias gp='git pull' alias h='history' alias l...

Angular vs React

Angular vs React Angular and React are the most used modern JavaScript frameworks out there currently. Here's a look at their features and comparing the differences                                          1. Performance Angular - Competitive, optimized with change detection Angular performs worse, especially in the case of complex and dynamic web pages. The performance of Angular apps is negatively affected by the bidirectional data-binding. Each binding is assigned a watcher to track changes and each loop continues until all the watchers and associated values are checked. Because of this, the more bindings you have, the more watchers are created, and the more cumbersome the process becomes. However, the most recent update of Angular has greatly improved its performance, and it does not lose to React anymore. Moreover, the size of an Angular application is slightly smaller than the...