└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ## Table of Contents 2 | * [11 Painful Git Interview Questions You Will Cry On](#11PainfulGitInterviewQuestionsYouWillCryOn) 3 | * [112+ Behavioral Interview Questions for Software Developers](#112+BehavioralInterviewQuestionsforSoftwareDevelopers) 4 | * [13 Tricky CSS3 Interview Questions And Answers to Stand Out on Interview in 2018](#13TrickyCSS3InterviewQuestionsAndAnswerstoStandOutonInterviewin2018) 5 | * [15 ASP.NET Web API Interview Questions And Answers (2019 Update)](#15ASP.NETWebAPIInterviewQuestionsAndAnswers(2019Update)) 6 | * [15 Amazon Web Services Interview Questions and Answers for 2018](#15AmazonWebServicesInterviewQuestionsandAnswersfor2018) 7 | * [15 Best Continuous Integration Interview Questions (2018 Revision)](#15BestContinuousIntegrationInterviewQuestions(2018Revision)) 8 | * [15 Essential HTML5 Interview Questions to Watch Out in 2018](#15EssentialHTML5InterviewQuestionstoWatchOutin2018) 9 | * [15+ Azure Interview Questions And Answers (2018 REVISIT)](#15+AzureInterviewQuestionsAndAnswers(2018REVISIT)) 10 | * [19+ Expert Node.js Interview Questions in 2018](#19+ExpertNode.jsInterviewQuestionsin2018) 11 | * [20 .NET Core Interview Questions and Answers](#20.NETCoreInterviewQuestionsandAnswers) 12 | * [20 Basic TypeScript Interview Questions (2018 Edition)](#20BasicTypeScriptInterviewQuestions(2018Edition)) 13 | * [20 Reactive Programming Interview Questions To Polish Up In 2019](#20ReactiveProgrammingInterviewQuestionsToPolishUpIn2019) 14 | * [20 Senior .NET Developer Interview Questions to Ask in 2019](#20Senior.NETDeveloperInterviewQuestionstoAskin2019) 15 | * [20 Vue.js Interview Questions And Answers (2018 Updated)](#20Vue.jsInterviewQuestionsAndAnswers(2018Updated)) 16 | * [20+ Agile Scrum Interview Questions for Software Developers in 2018](#20+AgileScrumInterviewQuestionsforSoftwareDevelopersin2018) 17 | * [22 Essential WCF Interview Questions That'll Make You Cry](#22EssentialWCFInterviewQuestionsThat'llMakeYouCry) 18 | * [22 Important JavaScript/ES6/ES2015 Interview Questions](#22ImportantJavaScript/ES6/ES2015InterviewQuestions) 19 | * [22+ Angular 6 Interview Questions to Stand Out in 2018](#22+Angular6InterviewQuestionstoStandOutin2018) 20 | * [23 Advanced JavaScript Interview Questions](#23AdvancedJavaScriptInterviewQuestions) 21 | * [26 Top Angular 8 Interview Questions To Learn in 2019](#26TopAngular8InterviewQuestionsToLearnin2019) 22 | * [29 Essential Blockchain Interview Questions You Will Suck On](#29EssentialBlockchainInterviewQuestionsYouWillSuckOn) 23 | * [30 Best MongoDB Interview Questions and Answers (2018 Update)](#30BestMongoDBInterviewQuestionsandAnswers(2018Update)) 24 | * [30 Docker Interview Questions and Answers in 2019](#30DockerInterviewQuestionsandAnswersin2019) 25 | * [32 jQuery Interview Questions You'll Simply Fail On](#32jQueryInterviewQuestionsYou'llSimplyFailOn) 26 | * [33 Frequently Asked Node.js Interview Questions (2020 Update)](#33FrequentlyAskedNode.jsInterviewQuestions(2020Update)) 27 | * [35 LINQ Interview Questions and Answers in 2019](#35LINQInterviewQuestionsandAnswersin2019) 28 | * [35 Microservices Interview Questions You Most Likely Can't Answer](#35MicroservicesInterviewQuestionsYouMostLikelyCan'tAnswer) 29 | * [35 Top Angular 7 Interview Questions To Crack in 2019](#35TopAngular7InterviewQuestionsToCrackin2019) 30 | * [37 ASP.NET Interview Questions You Must Know](#37ASP.NETInterviewQuestionsYouMustKnow) 31 | * [39 Advanced React Interview Questions You Must Clarify (2020 Update)](#39AdvancedReactInterviewQuestionsYouMustClarify(2020Update)) 32 | * [40 Advanced OOP Interview Questions and Answers [2019 Update]](#40AdvancedOOPInterviewQuestionsandAnswers[2019Update]) 33 | * [40 Common ADO.NET Interview Questions to Know in 2019](#40CommonADO.NETInterviewQuestionstoKnowin2019) 34 | * [42 Advanced Java Interview Questions For Senior Developers](#42AdvancedJavaInterviewQuestionsForSeniorDevelopers) 35 | * [45 Important PHP Interview Questions That May Land You a Job](#45ImportantPHPInterviewQuestionsThatMayLandYouaJob) 36 | * [5 Salary Negotiation Rules for Software Developers](#5SalaryNegotiationRulesforSoftwareDevelopers) 37 | * [50 Common Front End Developer Interview Questions [2019 Edition]](#50CommonFrontEndDeveloperInterviewQuestions[2019Edition]) 38 | * [50 Common Web Developer Interview Questions [2020 Updated]](#50CommonWebDeveloperInterviewQuestions[2020Updated]) 39 | * [50 Junior Web Developer Interview Questions. The Ultimate 2018 Guide.](#50JuniorWebDeveloperInterviewQuestions.TheUltimate2018Guide.) 40 | * [50 Senior Java Developer Interview Questions To Ask in 2020](#50SeniorJavaDeveloperInterviewQuestionsToAskin2020) 41 | * [6 Web Security Interview Questions for Full Stack Developers](#6WebSecurityInterviewQuestionsforFullStackDevelopers) 42 | * [60 Java and Spring Interview Questions You Must Know](#60JavaandSpringInterviewQuestionsYouMustKnow) 43 | * [70 C# Interview Questions You Must Know [2019 Update]](#70C#InterviewQuestionsYouMustKnow[2019Update]) 44 | * [75+ JavaScript Interview Questions [ES6/ES2015 Update] in 2019](#75+JavaScriptInterviewQuestions[ES6/ES2015Update]in2019) 45 | * [8 Common Full Stack Interview Questions To Brush Up (2018 Edition)](#8CommonFullStackInterviewQuestionsToBrushUp(2018Edition)) 46 | * [8 DevOps Interview Questions and Answers in 2018](#8DevOpsInterviewQuestionsandAnswersin2018) 47 | * [8 GraphQL Interview Questions To Know (in 2018)](#8GraphQLInterviewQuestionsToKnow(in2018)) 48 | * [8 Performance Testing Interview Questions & Answers in 2018](#8PerformanceTestingInterviewQuestions&Answersin2018) 49 | * [8 Steps to Increase Your Dev Resume Response Rate by 90%](#8StepstoIncreaseYourDevResumeResponseRateby90%) 50 | * [9 Basic webpack Interview Questions And Answers in 2019](#9BasicwebpackInterviewQuestionsAndAnswersin2019) 51 | * [9 Expert Design Patterns Interview Questions To Know (in 2018)](#9ExpertDesignPatternsInterviewQuestionsToKnow(in2018)) 52 | * [9 Questions Every Developer Should Ask On Interview](#9QuestionsEveryDeveloperShouldAskOnInterview) 53 | * [9 Tricky Software Architecture Interview Questions ](#9TrickySoftwareArchitectureInterviewQuestions) 54 | * [Angular Developer Resume Sample & Template (Download Word/PDF)](#AngularDeveloperResumeSample&Template(DownloadWord/PDF)) 55 | * [Front End Developer Resume Sample & Template (Word, PDF)](#FrontEndDeveloperResumeSample&Template(Word,PDF)) 56 | * [Guest Voice: The Solution For The CV Problem In IT Recruitment](#GuestVoice:TheSolutionForTheCVProblemInITRecruitment) 57 | * [JavaScript Developer Resume Sample & Template (2019 Update)](#JavaScriptDeveloperResumeSample&Template(2019Update)) 58 | * [Node.js Error Handling: 7 Ways To Kill Them All](#Node.jsErrorHandling:7WaysToKillThemAll) 59 | * [The Ultimate Guide to Transitioning to Remote Web Development](#TheUltimateGuidetoTransitioningtoRemoteWebDevelopment) 60 | * [Top 26+ React Interview Questions (2018 Edition)](#Top26+ReactInterviewQuestions(2018Edition)) 61 | * [Top 60+ MEAN Stack Developer Interview Questions And Answers (2019 Edition)](#Top60+MEANStackDeveloperInterviewQuestionsAndAnswers(2019Edition)) 62 | ## [[⬆]](#toc) 11 Painful Git Interview Questions You Will Cry On 63 | > Originally published on 👉 11 Painful Git Interview Questions You Will Cry On | FullStack.Cafe 64 | 65 | #### Q1: What is Git fork? What is difference between fork, branch and clone? ⭐⭐ 66 | **Answer:** 67 | * A **fork** is a remote, server-side copy of a repository, distinct from the original. A fork isn't a Git concept really, it's more a political/social idea. 68 | * A **clone** is not a fork; a clone is a local copy of some remote repository. When you clone, you are actually copying the entire source repository, including all the history and branches. 69 | * A **branch** is a mechanism to handle the changes within a single repository in order to eventually merge them with the rest of code. A branch is something that is within a repository. Conceptually, it represents a thread of development. 70 | 71 | **Source:** _stackoverflow.com_ 72 | 73 | #### Q2: What is the difference between "git pull" and "git fetch"? ⭐⭐ 74 | **Answer:** 75 | In the simplest terms, `git pull` does a `git fetch` followed by a `git merge`. 76 | 77 | * When you use `pull`, Git tries to automatically do your work for you. **It is context sensitive**, so Git will merge any pulled commits into the branch you are currently working in. `pull` **automatically merges the commits without letting you review them first**. If you don’t closely manage your branches, you may run into frequent conflicts. 78 | 79 | * When you `fetch`, Git gathers any commits from the target branch that do not exist in your current branch and **stores them in your local repository**. However, **it does not merge them with your current branch**. This is particularly useful if you need to keep your repository up to date, but are working on something that might break if you update your files. To integrate the commits into your master branch, you use `merge`. 80 | 81 | **Source:** _stackoverflow.com_ 82 | 83 | #### Q3: What's the difference between a "pull request" and a "branch"? ⭐⭐ 84 | **Answer:** 85 | * A **branch** is just a separate version of the code. 86 | 87 | * A **pull request** is when someone take the repository, makes their own branch, does some changes, then tries to merge that branch in (put their changes in the other person's code repository). 88 | 89 | **Source:** _stackoverflow.com_ 90 | 91 | #### Q4: How to revert previous commit in git? ⭐⭐⭐ 92 | **Answer:** 93 | Say you have this, where C is your HEAD and (F) is the state of your files. 94 | ```sh 95 | (F) 96 | A-B-C 97 | ↑ 98 | master 99 | ``` 100 | 1. To nuke changes in the commit: 101 | ```sh 102 | git reset --hard HEAD~1 103 | ``` 104 | Now B is the HEAD. Because you used --hard, your files are reset to their state at commit B. 105 | 2. To undo the commit but keep your changes: 106 | ```sh 107 | git reset HEAD~1 108 | ``` 109 | Now we tell Git to move the HEAD pointer back one commit (B) and leave the files as they are and `git status` shows the changes you had checked into C. 110 | 3. To undo your commit but leave your files and your index 111 | ```sh 112 | git reset --soft HEAD~1 113 | ``` 114 | When you do `git status`, you'll see that the same files are in the index as before. 115 | 116 | **Source:** _stackoverflow.com_ 117 | 118 | #### Q5: What is "git cherry-pick"? ⭐⭐⭐ 119 | **Answer:** 120 | The command git *cherry-pick* is typically used to introduce particular commits from one branch within a repository onto a different branch. A common use is to forward- or back-port commits from a maintenance branch to a development branch. 121 | 122 | This is in contrast with other ways such as merge and rebase which normally apply many commits onto another branch. 123 | 124 | Consider: 125 | ```sh 126 | git cherry-pick 127 | ``` 128 | 129 | **Source:** _stackoverflow.com_ 130 | 131 | #### Q6: Explain the advantages of Forking Workflow ⭐⭐⭐ 132 | **Answer:** 133 | The **Forking Workflow** is fundamentally different than other popular Git workflows. Instead of using a single server-side repository to act as the “central” codebase, it gives every developer their own server-side repository. The Forking Workflow is most often seen in public open source projects. 134 | 135 | The *main advantage* of the Forking Workflow is that contributions can be integrated without the need for everybody to push to a single central repository that leads to a clean project history. Developers push to their own server-side repositories, and only the project maintainer can push to the official repository. 136 | 137 | When developers are ready to publish a local commit, they push the commit to their own public repository—not the official one. Then, they file a pull request with the main repository, which lets the project maintainer know that an update is ready to be integrated. 138 | 139 | 140 | 141 | **Source:** _atlassian.com_ 142 | 143 | #### Q7: Tell me the difference between HEAD, working tree and index, in Git? ⭐⭐⭐ 144 | **Answer:** 145 | * The **working tree/working directory/workspace** is the directory tree of (source) files that you see and edit. 146 | * The **index/staging area** is a single, large, binary file in /.git/index, which lists all files in the current branch, their sha1 checksums, time stamps and the file name - it is not another directory with a copy of files in it. 147 | * **HEAD** is a reference to the last commit in the currently checked-out branch. 148 | 149 | **Source:** _stackoverflow.com_ 150 | 151 | #### Q8: Could you explain the Gitflow workflow? ⭐⭐⭐ 152 | **Answer:** 153 | Gitflow workflow employs two parallel *long-running* branches to record the history of the project, `master` and `develop`: 154 | * **Master** - is always ready to be released on LIVE, with everything fully tested and approved (production-ready). 155 | * **Hotfix** - Maintenance or “hotfix” branches are used to quickly patch production releases. Hotfix branches are a lot like release branches and feature branches except they're based on `master` instead of `develop`. 156 | 157 | 158 | * **Develop** - is the branch to which all feature branches are merged and where all tests are performed. Only when everything’s been thoroughly checked and fixed it can be merged to the `master`. 159 | * **Feature** - Each new feature should reside in its own branch, which can be pushed to the `develop` branch as their parent one. 160 | 161 |
162 | 163 |
164 | 165 | 166 | **Source:** _atlassian.com_ 167 | 168 | #### Q9: When should I use "git stash"? ⭐⭐⭐ 169 | **Answer:** 170 | The `git stash` command takes your uncommitted changes (both staged and unstaged), saves them away for later use, and then reverts them from your working copy. 171 | 172 | Consider: 173 | ```sh 174 | $ git status 175 | On branch master 176 | Changes to be committed: 177 | new file: style.css 178 | Changes not staged for commit: 179 | modified: index.html 180 | $ git stash 181 | Saved working directory and index state WIP on master: 5002d47 our new homepage 182 | HEAD is now at 5002d47 our new homepage 183 | $ git status 184 | On branch master 185 | nothing to commit, working tree clean 186 | ``` 187 | The one place we could use stashing is if we discover we forgot something in our last commit and have already started working on the next one in the same branch: 188 | ```sh 189 | # Assume the latest commit was already done 190 | # start working on the next patch, and discovered I was missing something 191 | 192 | # stash away the current mess I made 193 | $ git stash save 194 | 195 | # some changes in the working dir 196 | 197 | # and now add them to the last commit: 198 | $ git add -u 199 | $ git commit --ammend 200 | 201 | # back to work! 202 | $ git stash pop 203 | ``` 204 | 205 | **Source:** _atlassian.com_ 206 | 207 | #### Q10: How to remove a file from git without removing it from your file system? ⭐⭐⭐⭐ 208 | **Answer:** 209 | Read Full Answer on 👉 FullStack.Cafe 210 | 211 | #### Q11: When do you use "git rebase" instead of "git merge"? ⭐⭐⭐⭐⭐ 212 | **Answer:** 213 | Read Full Answer on 👉 FullStack.Cafe 214 | 215 | ## [[⬆]](#toc) 112+ Behavioral Interview Questions for Software Developers 216 | > Originally published on 👉 112+ Behavioral Interview Questions for Software Developers | FullStack.Cafe 217 | 218 | #### Q1: How do you spend your time outside work? ⭐ 219 | **Answer:** 220 | 221 | 222 | ## [[⬆]](#toc) 13 Tricky CSS3 Interview Questions And Answers to Stand Out on Interview in 2018 223 | > Originally published on 👉 13 Tricky CSS3 Interview Questions And Answers to Stand Out on Interview in 2018 | FullStack.Cafe 224 | 225 | #### Q1: Describe floats and how they work ⭐⭐ 226 | **Answer:** 227 | *Float* is a CSS positioning property. Floated elements remain a part of the flow of the web page. This is distinctly different than page elements that use absolute positioning. Absolutely positioned page elements are removed from the flow of the webpage. 228 | 229 | ```css 230 | #sidebar { 231 | float: right; // left right none inherit 232 | } 233 | ``` 234 | The CSS clear property can be used to be positioned below `left`/`right`/`both` floated elements. 235 | 236 | **Source:** _css-tricks.com_ 237 | 238 | #### Q2: How is responsive design different from adaptive design? ⭐⭐⭐ 239 | **Answer:** 240 | Both *responsive* and *adaptive* design attempt to optimize the user experience across different devices, adjusting for different viewport sizes, resolutions, usage contexts, control mechanisms, and so on. 241 | 242 | **Responsive design** works on the principle of flexibility — a single fluid website that can look good on any device. Responsive websites use *media queries*, *flexible grids*, and *responsive images* to create a user experience that flexes and changes based on a multitude of factors. Like a single ball growing or shrinking to fit through several different hoops. 243 | 244 | **Adaptive design** is more like the modern definition of progressive enhancement. Instead of one flexible design, adaptive design detects the device and other features, and then provides the appropriate feature and layout based on a *predefined set of viewport sizes* and other characteristics. The site detects the type of device used, and delivers the pre-set layout for that device. Instead of a single ball going through several different-sized hoops, you’d have several different balls to use depending on the hoop size. 245 | 246 | **Source:** _codeburst.io_ 247 | 248 | #### Q3: How does CSS actually work (under the hood of browser)? ⭐⭐⭐ 249 | **Answer:** 250 | When a browser displays a document, it must combine the document's content with its style information. It processes the document in two stages: 251 | 252 | * The browser converts *HTML* and *CSS* into the *DOM (Document Object Model)*. The DOM represents the document in the computer's memory. It combines the document's content with its style. 253 | * The browser displays the contents of the DOM. 254 | 255 | ![](https://mdn.mozillademos.org/files/11781/rendering.svg) 256 | 257 | **Source:** _developer.mozilla.org_ 258 | 259 | #### Q4: What does Accessibility (a11y) mean? ⭐⭐⭐ 260 | **Answer:** 261 | **Accessibility (a11y)** is a measure of a computer system's accessibility is to all people, including those with disabilities or impairments. It concerns both software and hardware and how they are configured in order to enable a disabled or impaired person to use that computer system successfully. 262 | 263 | Accessibility is also known as *assistive technology*. 264 | 265 | **Source:** _techopedia.com_ 266 | 267 | #### Q5: Explain the purpose of clearing floats in CSS ⭐⭐⭐⭐ 268 | **Answer:** 269 | Read Full Answer on 👉 FullStack.Cafe 270 | 271 | #### Q6: How do you optimize your webpages for print? ⭐⭐⭐⭐ 272 | **Answer:** 273 | Read Full Answer on 👉 FullStack.Cafe 274 | 275 | #### Q7: Can you explain the difference between coding a website to be responsive versus using a mobile-first strategy? ⭐⭐⭐⭐ 276 | **Answer:** 277 | Read Full Answer on 👉 FullStack.Cafe 278 | 279 | #### Q8: Explain the basic rules of CSS Specificity ⭐⭐⭐⭐ 280 | **Answer:** 281 | Read Full Answer on 👉 FullStack.Cafe 282 | 283 | #### Q9: Is there any reason you'd want to use `translate()` instead of `absolute` positioning, or vice-versa? And why? ⭐⭐⭐⭐ 284 | **Answer:** 285 | Read Full Answer on 👉 FullStack.Cafe 286 | 287 | #### Q10: What the code fragment has the greater CSS specificity? ⭐⭐⭐⭐ 288 | **Details:** 289 | 290 | Consider the three code fragments: 291 | ```html 292 | // A 293 | h1 294 | // B 295 | #content h1 296 | // C 297 |
298 |

Headline

299 |
300 | ``` 301 | What the code fragment has the greater specificy? 302 | 303 | **Answer:** 304 | Read Full Answer on 👉 FullStack.Cafe 305 | 306 | #### Q11: What clearfix methods do you know? Provide some examples. ⭐⭐⭐⭐⭐ 307 | **Answer:** 308 | Read Full Answer on 👉 FullStack.Cafe 309 | 310 | #### Q12: How to style every element which has an adjacent item right before it? ⭐⭐⭐⭐⭐ 311 | **Answer:** 312 | Read Full Answer on 👉 FullStack.Cafe 313 | 314 | #### Q13: Write down a selector that will match any links end in .zip, .ZIP, .Zip etc... ⭐⭐⭐⭐⭐ 315 | **Answer:** 316 | Read Full Answer on 👉 FullStack.Cafe 317 | 318 | ## [[⬆]](#toc) 15 ASP.NET Web API Interview Questions And Answers (2019 Update) 319 | > Originally published on 👉 15 ASP.NET Web API Interview Questions And Answers (2019 Update) | FullStack.Cafe 320 | 321 | #### Q1: What is ASP.NET Web API? ⭐ 322 | **Answer:** 323 | ASP.NET Web API is a framework that simplifies building HTTP services for broader range of clients (including browsers as well as mobile devices) on top of .NET Framework. 324 | 325 | Using ASP.NET Web API, we can create non-SOAP based services like plain XML or JSON strings, etc. with many other advantages including: 326 | 327 | * Create resource-oriented services using the full features of HTTP 328 | * Exposing services to a variety of clients easily like browsers or mobile devices, etc. 329 | 330 | **Source:** _codeproject.com_ 331 | 332 | #### Q2: What are the Advantages of Using ASP.NET Web API? ⭐⭐ 333 | **Answer:** 334 | Using ASP.NET Web API has a number of advantages, but core of the advantages are: 335 | 336 | * It works the HTTP way using standard HTTP verbs like `GET`, `POST`, `PUT`, `DELETE`, etc. for all CRUD operations 337 | * Complete support for routing 338 | * Response generated in JSON or XML format using `MediaTypeFormatter` 339 | * It has the ability to be hosted in IIS as well as self-host outside of IIS 340 | * Supports Model binding and Validation 341 | * Support for OData 342 | 343 | **Source:** _codeproject.com_ 344 | 345 | #### Q3: Which status code used for all uncaught exceptions by default? ⭐⭐ 346 | **Answer:** 347 | **500** – Internal Server Error 348 | 349 | Consider: 350 | ```csharp 351 | [Route("CheckId/{id}")] 352 | [HttpGet] 353 | public IHttpActionResult CheckId(int id) 354 | { 355 | if(id > 100) 356 | { 357 | throw new ArgumentOutOfRangeException(); 358 | } 359 | return Ok(id); 360 | } 361 | ``` 362 | And the result: 363 |
364 | 365 |
366 | 367 | **Source:** _docs.microsoft.com_ 368 | 369 | #### Q4: What is the difference between ApiController and Controller? ⭐⭐ 370 | **Answer:** 371 | * Use **Controller** to render your normal views. 372 | * **ApiController** action only return data that is serialized and sent to the client. 373 | 374 | Consider: 375 | ```csharp 376 | public class TweetsController : Controller { 377 | // GET: /Tweets/ 378 | [HttpGet] 379 | public ActionResult Index() { 380 | return Json(Twitter.GetTweets(), JsonRequestBehavior.AllowGet); 381 | } 382 | } 383 | ``` 384 | or 385 | ```csharp 386 | public class TweetsController : ApiController { 387 | // GET: /Api/Tweets/ 388 | public List Get() { 389 | return Twitter.GetTweets(); 390 | } 391 | } 392 | ``` 393 | 394 | **Source:** _stackoverflow.com_ 395 | 396 | #### Q5: Name types of Action Results in Web API 2 ⭐⭐⭐ 397 | **Answer:** 398 | A Web API controller action can return any of the following: 399 | 400 | * void - Return empty 204 (No Content) 401 | * HttpResponseMessage - Return empty 204 (No Content) 402 | * IHttpActionResult - Call ExecuteAsync to create an HttpResponseMessage, then convert to an HTTP response message 403 | * Some other type - Write the serialized return value into the response body; return 200 (OK). 404 | 405 | **Source:** _medium.com_ 406 | 407 | #### Q6: Compare WCF vs ASP.NET Web API? ⭐⭐⭐ 408 | **Answer:** 409 | * **Windows Communication Foundation** is designed to exchange standard SOAP-based messages using variety of transport protocols like HTTP, TCP, NamedPipes or MSMQ, etc. 410 | * On the other hand, **ASP.NET API** is a framework for building non-SOAP based services over HTTP only. 411 | 412 | **Source:** _codeproject.com_ 413 | 414 | #### Q7: Explain the difference between MVC vs ASP.NET Web API ⭐⭐⭐ 415 | **Answer:** 416 | * The purpose of Web API framework is to generate HTTP services that reach more clients by generating data in raw format, for example, plain XML or JSON string. So, ASP.NET Web API creates simple HTTP services that renders raw data. 417 | * On the other hand, ASP.NET MVC framework is used to develop web applications that generate Views (HTML) as well as data. ASP.NET MVC facilitates in rendering HTML easy. 418 | 419 | **Source:** _codeproject.com_ 420 | 421 | #### Q8: What is Attribute Routing in ASP.NET Web API 2.0? ⭐⭐⭐ 422 | **Answer:** 423 | ASP.NET Web API v2 now support _Attribute Routing_ along with _convention-based approach_. In convention-based routes, the route templates are already defined as follows: 424 | 425 | ```csharp 426 | Config.Routes.MapHttpRoute( 427 | name: "DefaultApi", 428 | routeTemplate: "api/{Controller}/{id}", 429 | defaults: new { id = RouteParameter.Optional } 430 | ); 431 | ``` 432 | So, any incoming request is matched against already defined _**routeTemplate**_ and further routed to matched controller action. But it’s really hard to support _**certain URI patterns**_ using conventional routing approach like nested routes on same controller. For example, _authors have books_ or _customers have orders_, _students have courses_ etc. 433 | 434 | Such patterns can be defined using attribute routing i.e. adding an attribute to controller action as follows: 435 | ```csharp 436 | [Route("books/{bookId}/authors")] 437 | public IEnumerable GetAuthorsByBook(int bookId) { ..... } 438 | ``` 439 | 440 | **Source:** _webdevelopmenthelp.net_ 441 | 442 | #### Q9: How to Return View from ASP.NET Web API Method? ⭐⭐⭐⭐ 443 | **Answer:** 444 | Read Full Answer on 👉 FullStack.Cafe 445 | 446 | #### Q10: Explain briefly CORS(Cross-Origin Resource Sharing)? ⭐⭐⭐⭐ 447 | **Answer:** 448 | Read Full Answer on 👉 FullStack.Cafe 449 | 450 | #### Q11: What's the difference between OpenID and OAuth? ⭐⭐⭐⭐ 451 | **Answer:** 452 | Read Full Answer on 👉 FullStack.Cafe 453 | 454 | #### Q12: Why should I use IHttpActionResult instead of HttpResponseMessage? ⭐⭐⭐⭐⭐ 455 | **Answer:** 456 | Read Full Answer on 👉 FullStack.Cafe 457 | 458 | #### Q13: Explain briefly OWIN (Open Web Interface for .NET) Self Hosting? ⭐⭐⭐⭐⭐ 459 | **Answer:** 460 | Read Full Answer on 👉 FullStack.Cafe 461 | 462 | #### Q14: Could you clarify what is the best practice with Web API error management? ⭐⭐⭐⭐⭐ 463 | **Answer:** 464 | Read Full Answer on 👉 FullStack.Cafe 465 | 466 | #### Q15: What is difference between WCF and Web API and WCF REST and Web Service? ⭐⭐⭐⭐⭐ 467 | **Answer:** 468 | Read Full Answer on 👉 FullStack.Cafe 469 | 470 | ## [[⬆]](#toc) 15 Amazon Web Services Interview Questions and Answers for 2018 471 | > Originally published on 👉 15 Amazon Web Services Interview Questions and Answers for 2018 | FullStack.Cafe 472 | 473 | #### Q1: Explain the key components of AWS? ⭐ 474 | **Answer:** 475 | * **Simple Storage Service (S3)**: S3 is most widely used AWS storage web service. 476 | * **Simple E-mail Service (SES)**: SES is a hosted transactional email service and allows one to fluently send deliverable emails using a RESTFUL API call or through a regular SMTP. 477 | * **Identity and Access Management (IAM)**: IAM provides improved identity and security management for AWS account. 478 | * **Elastic Compute Cloud (EC2)**: EC2 is an AWS ecosystem central piece. It is responsible for providing on-demand and flexible computing resources with a “pay as you go” pricing model. 479 | * **Elastic Block Store (EBS)**: EBS offers continuous storage solution that can be seen in instances as a regular hard drive. 480 | * **CloudWatch**: CloudWatch allows the controller to outlook and gather key metrics and also set a series of alarms to be notified if there is any trouble. 481 | 482 | **Source:** _whizlabs.com_ 483 | 484 | #### Q2: Is data stored in S3 is always encrypted? ⭐⭐ 485 | **Answer:** 486 | By default data on S3 is not encrypted, but all you could enable server-side encryption in your object metadata when you upload your data to Amazon S3. As soon as your data reaches S3, it is encrypted and stored. 487 | 488 | **Source:** _aws.amazon.com_ 489 | 490 | #### Q3: What is the connection between AMI and Instance? ⭐⭐ 491 | **Answer:** 492 | Many different types of *instances* can be launched from one *AMI*. The type of an instance generally regulates the hardware components of the host computer that is used for the instance. Each type of instance has distinct computing and memory efficacy. 493 | 494 | Once an instance is launched, it casts as host and the user interaction with it is same as with any other computer but we have a completely controlled access to our instances. AWS developer interview questions may contain one or more AMI based questions, so prepare yourself for the AMI topic very well. 495 | 496 | **Source:** _whizlabs.com_ 497 | 498 | #### Q4: How can I download a file from EC2? ⭐⭐ 499 | **Answer:** 500 | Use scp: 501 | 502 | ```sh 503 | scp -i ec2key.pem username@ec2ip:/path/to/file . 504 | ``` 505 | 506 | **Source:** _stackoverflow.com_ 507 | 508 | #### Q5: What do you mean by AMI? What does it include? ⭐⭐ 509 | **Answer:** 510 | **AMI** stands for the term **Amazon Machine Image**. It’s an AWS template which provides the information (an application server, and operating system, and applications) required to perform the launch of an instance. This AMI is the copy of the AMI that is running in the cloud as a virtual server. You can launch instances from as many different AMIs as you need. AMI consists of the followings: 511 | 512 | * A root volume template for an existing instance 513 | * Launch permissions to determine which AWS accounts will get the AMI in order to launch the instances 514 | * Mapping for block device to calculate the total volume that will be attached to the instance at the time of launch 515 | 516 | **Source:** _whizlabs.com_ 517 | 518 | #### Q6: Can we attach single EBS to multiple EC2s same time? ⭐⭐ 519 | **Answer:** 520 | No. After you create a volume, you can attach it to any EC2 instance in the same Availability Zone. An EBS volume can be attached to **only one EC2 instance at a time**, but multiple volumes can be attached to a single instance. 521 | 522 | **Source:** _docs.aws.amazon.com_ 523 | 524 | #### Q7: What is AWS Data Pipeline? ⭐⭐ 525 | **Answer:** 526 | **AWS Data Pipeline** is a web service that you can use to automate the movement and transformation of data. With AWS Data Pipeline, you can define data-driven workflows, so that tasks can be dependent on the successful completion of previous tasks. 527 | 528 | **Source:** _docs.aws.amazon.com_ 529 | 530 | #### Q8: How many storage options are there for EC2 Instance? ⭐⭐⭐ 531 | **Answer:** 532 | There are four storage options for Amazon EC2 Instance: 533 | 534 | * Amazon EBS 535 | * Amazon EC2 Instance Store 536 | * Amazon S3 537 | * Adding Storage 538 | 539 | **Source:** _whizlabs.com_ 540 | 541 | #### Q9: How to get the instance id from within an EC2 instance? ⭐⭐⭐ 542 | **Details:** 543 | How can I find out the `instance id` of an ec2 instance from within the ec2 instance? 544 | 545 | **Answer:** 546 | Run: 547 | ```sh 548 | wget -q -O - http://169.254.169.254/latest/meta-data/instance-id 549 | ``` 550 | 551 | Or on Amazon Linux AMIs you can do: 552 | ```sh 553 | $ ec2-metadata -i 554 | instance-id: i-1234567890abcdef0 555 | ``` 556 | 557 | **Source:** _stackoverflow.com_ 558 | 559 | #### Q10: What is the difference between Amazon EC2 and AWS Elastic Beanstalk? ⭐⭐⭐ 560 | **Answer:** 561 | * **EC2** is Amazon's service that allows you to create a server (AWS calls these instances) in the AWS cloud. You pay by the hour and only what you use. You can do whatever you want with this instance as well as launch n number of instances. 562 | 563 | * **Elastic Beanstalk** is one layer of abstraction away from the EC2 layer. Elastic Beanstalk will setup an "environment" for you that can contain a number of EC2 instances, an optional database, as well as a few other AWS components such as a Elastic Load Balancer, Auto-Scaling Group, Security Group. Then Elastic Beanstalk will manage these items for you whenever you want to update your software running in AWS. 564 | 565 | **Source:** _stackoverflow.com_ 566 | 567 | #### Q11: When should one use the following: Amazon EC2, Google App Engine, Microsoft Azure and Salesforce.com? ⭐⭐⭐⭐ 568 | **Answer:** 569 | Read Full Answer on 👉 FullStack.Cafe 570 | 571 | #### Q12: How would you implement vertical auto scaling of EC2 instance? ⭐⭐⭐⭐ 572 | **Answer:** 573 | Read Full Answer on 👉 FullStack.Cafe 574 | 575 | #### Q13: What is the underlying hypervisor for EC2? ⭐⭐⭐⭐⭐ 576 | **Answer:** 577 | Read Full Answer on 👉 FullStack.Cafe 578 | 579 | #### Q14: Our EC2 micro instance occasionally runs out of memory. Other than using a larger instance size, what else can be done? ⭐⭐⭐⭐⭐ 580 | **Answer:** 581 | Read Full Answer on 👉 FullStack.Cafe 582 | 583 | #### Q15: How to safely upgrade an Amazon EC2 instance from t1.micro to large? ⭐⭐⭐⭐⭐ 584 | **Details:** 585 | I have an Amazon EC2 micro instance (t1.micro). I want to upgrade this instance to large. This is our production environment, so what is the best and risk-free way to do this? 586 | 587 | **Answer:** 588 | Read Full Answer on 👉 FullStack.Cafe 589 | 590 | ## [[⬆]](#toc) 15 Best Continuous Integration Interview Questions (2018 Revision) 591 | > Originally published on 👉 15 Best Continuous Integration Interview Questions (2018 Revision) | FullStack.Cafe 592 | 593 | #### Q1: What is meant by Continuous Integration? ⭐ 594 | **Answer:** 595 | *Continuous Integration (CI)* is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. 596 | 597 | **Source:** _edureka.co_ 598 | 599 | #### Q2: What are the success factors for Continuous Integration? ⭐⭐ 600 | **Answer:** 601 | * Maintain a code repository 602 | * Automate the build 603 | * Make the build self-testing 604 | * Everyone commits to the baseline every day 605 | * Every commit (to baseline) should be built 606 | * Keep the build fast 607 | * Test in a clone of the production environment 608 | * Make it easy to get the latest deliverables 609 | * Everyone can see the results of the latest build 610 | * Automate deployment 611 | 612 | **Source:** _edureka.co_ 613 | 614 | #### Q3: What is the function of CI (Continuous Integration) server? ⭐⭐ 615 | **Answer:** 616 | CI server function is to continuously integrate all changes being made and committed to repository by different developers and check for compile errors. It needs to build code several times a day, preferably after every commit so it can detect which commit made the breakage if the breakage happens. 617 | 618 | **Source:** _linoxide.com_ 619 | 620 | #### Q4: What's the difference between a blue/green deployment and a rolling deployment? ⭐⭐⭐ 621 | **Answer:** 622 | * In **Blue Green Deployment**, you have TWO complete environments. 623 | One is Blue environment which is running and the Green environment to which you want to upgrade. Once you swap the environment from blue to green, the traffic is directed to your new green environment. You can delete or save your old blue environment for backup until the green environment is stable. 624 | 625 | * In **Rolling Deployment**, you have only ONE complete environment. The code is deployed in the subset of instances of the same environment and moves to another subset after completion. 626 | 627 | **Source:** _stackoverflow.com_ 628 | 629 | #### Q5: What is the difference between resource allocation and resource provisioning? ⭐⭐⭐ 630 | **Answer:** 631 | * Resource allocation is the process of reservation that demarcates a quantity of a resource for a tenant's use. 632 | * Resource provision is the process of activation of a bundle of the allocated quantity to bear the tenant's workload. 633 | 634 | Immediately after allocation, all the quantity of a resource is available. Provision removes a quantity of a resource from the available set. De-provision returns a quantity of a resource to the available set. 635 | At any time: 636 | 637 | ``` 638 | Allocated quantity = Available quantity + Provisioned quantity 639 | ``` 640 | 641 | **Source:** _dev.to_ 642 | 643 | #### Q6: What are the differences between continuous integration, continuous delivery, and continuous deployment? ⭐⭐⭐ 644 | **Answer:** 645 | * Developers practicing **continuous integration** merge their changes back to the main branch as often as possible. By doing so, you avoid the integration hell that usually happens when people wait for release day to merge their changes into the release branch. 646 | * **Continuous delivery** is an extension of continuous integration to make sure that you can release new changes to your customers quickly in a sustainable way. This means that on top of having automated your testing, you also have automated your release process and you can deploy your application at any point of time by clicking on a button. 647 | * **Continuous deployment** goes one step further than continuous delivery. With this practice, every change that passes all stages of your production pipeline is released to your customers. There's no human intervention, and only a failed test will prevent a new change to be deployed to production. 648 | 649 | **Source:** _atlassian.com_ 650 | 651 | #### Q7: Could you explain the Gitflow workflow? ⭐⭐⭐ 652 | **Answer:** 653 | Gitflow workflow employs two parallel *long-running* branches to record the history of the project, `master` and `develop`: 654 | * **Master** - is always ready to be released on LIVE, with everything fully tested and approved (production-ready). 655 | * **Hotfix** - Maintenance or “hotfix” branches are used to quickly patch production releases. Hotfix branches are a lot like release branches and feature branches except they're based on `master` instead of `develop`. 656 | 657 | 658 | * **Develop** - is the branch to which all feature branches are merged and where all tests are performed. Only when everything’s been thoroughly checked and fixed it can be merged to the `master`. 659 | * **Feature** - Each new feature should reside in its own branch, which can be pushed to the `develop` branch as their parent one. 660 | 661 |
662 | 663 |
664 | 665 | 666 | **Source:** _atlassian.com_ 667 | 668 | #### Q8: Explain usage of NODE_ENV ⭐⭐⭐⭐ 669 | **Answer:** 670 | Read Full Answer on 👉 FullStack.Cafe 671 | 672 | #### Q9: What is LTS releases of Node.js why should you care? ⭐⭐⭐⭐ 673 | **Answer:** 674 | Read Full Answer on 👉 FullStack.Cafe 675 | 676 | #### Q10: What Is Sticky Session Load Balancing? What Do You Mean By "Session Affinity"? ⭐⭐⭐ 677 | **Answer:** 678 | *Sticky session* or a *session affinity technique* is another popular load balancing technique that requires a user session to be always served by an allocated machine. 679 | 680 | In a load balanced server application where user information is stored in session it will be required to keep the session data available to all machines. This can be avoided by always serving a particular user session request from one machine. The machine is associated with a session as soon as the session is created. All the requests in a particular session are always redirected to the associated machine. This ensures the user data is only at one machine and load is also shared. 681 | 682 | This is typically done by using SessionId cookie. The cookie is sent to the client for the first request and every subsequent request by client must be containing that same cookie to identify the session. 683 | 684 | ** What Are The Issues With Sticky Session?** 685 | 686 | There are few issues that you may face with this approach 687 | 688 | * The client browser may not support cookies, and your load balancer will not be able to identify if a request belongs to a session. This may cause strange behavior for the users who use no cookie based browsers. 689 | * In case one of the machine fails or goes down, the user information (served by that machine) will be lost and there will be no way to recover user session. 690 | 691 | **Source:** _fromdev.com_ 692 | 693 | #### Q11: Explain Blue-Green Deployment Technique ⭐⭐⭐ 694 | **Answer:** 695 | **Blue-green deployment** is a technique that reduces downtime and risk by running two identical production environments called Blue and Green. At any time, only one of the environments is live, with the live environment serving all production traffic. For this example, Blue is currently live and Green is idle. 696 | 697 | As you prepare a new version of your software, deployment and the final stage of testing takes place in the environment that is not live: in this example, Green. Once you have deployed and fully tested the software in Green, you switch the router so all incoming requests now go to Green instead of Blue. Green is now live, and Blue is idle. 698 | 699 | This technique can eliminate downtime due to application deployment. In addition, blue-green deployment reduces risk: if something unexpected happens with your new version on Green, you can immediately roll back to the last version by switching back to Blue. 700 | 701 | **Source:** _cloudfoundry.org_ 702 | 703 | #### Q12: Why layering your application is important? Provide some bad layering example. ⭐⭐⭐⭐ 704 | **Answer:** 705 | Read Full Answer on 👉 FullStack.Cafe 706 | 707 | #### Q13: Are you familiar with The Twelve-Factor App principles? ⭐⭐⭐⭐⭐ 708 | **Answer:** 709 | Read Full Answer on 👉 FullStack.Cafe 710 | 711 | ## [[⬆]](#toc) 15 Essential HTML5 Interview Questions to Watch Out in 2018 712 | > Originally published on 👉 15 Essential HTML5 Interview Questions to Watch Out in 2018 | FullStack.Cafe 713 | 714 | #### Q1: Explain meta tags in HTML ⭐ 715 | **Answer:** 716 | - **Meta tags** always go inside **head tag** of the HTML page 717 | - **Meta tags** is always passed as name/value pairs 718 | - **Meta tags** are not displayed on the page but intended for the browser 719 | - **Meta tags** can contain information about **character encoding**, **description**, **title** of the document etc, 720 | 721 | **Example**: 722 | 723 | ```html 724 | 725 | 726 | 727 | 728 | Home Page 729 | 730 | 731 | 732 | 733 | 734 | ``` 735 | 736 | 737 | **Source:** _github.com/FuelFrontend_ 738 | 739 | #### Q2: What is an optional tag? ⭐⭐⭐ 740 | **Answer:** 741 | In HTML, some elements have optional tags. In fact, both the opening and closing tags of some elements may be completely removed from an HTML document, even though the elements themselves are required. 742 | 743 | Three required HTML elements whose start and end tags are optional are the `html`, `head`, and `body` elements. 744 | 745 | **Source:** _computerhope.com_ 746 | 747 | #### Q3: Can a web page contain multiple
elements? What about