├── .gitattributes ├── .gitignore ├── 6a4a9ef7-bfbf-40fb-9848-40cf995e2c01.dmp ├── README.md ├── ab5722ba-25d6-4987-b242-ff16ca09acc5.dmp ├── algorithm.html ├── browser.html ├── bst.html ├── css.html ├── css ├── bootstrap-responsive.css ├── bootstrap-theme.min.css ├── bootstrap.min.css ├── site.css └── zenburn.css ├── css2.html ├── dom.html ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf └── glyphicons-halflings-regular.woff ├── graph.html ├── hashtable.html ├── hrRelated.html ├── html.html ├── images ├── Pooh2.jpg ├── asyncVsDefer.jpg ├── binarySearch.png ├── boxModel.gif ├── bstWrong.gif ├── eventBubble.png ├── favicon.jpg ├── flower.jpg ├── html5_responsive_design.jpg ├── inorder.jpg ├── insert.jpg ├── insertionSort.png ├── interview_mock.png ├── layout.png ├── layout2.png ├── layout3.png ├── linkedList.png ├── mergeSort.gif ├── pooh.jpg ├── postorder.jpg ├── preorder.jpg ├── quickSort.png ├── rb_tree1.gif ├── rb_tree1a.gif ├── reFlow.png ├── repaint.png ├── scope │ ├── closure.jpg │ ├── closureOneFunc.png │ └── closureTwoFunc.png └── selectionSort.png ├── index.html ├── js ├── bootstrap.min.js ├── highlight.pack.js ├── jquery-2.0.3.min.js ├── jquery.fitvids.min.js └── toggleExample.js ├── js1.html ├── js2.html ├── js3.html ├── linkedList.html ├── oop.html ├── questions.html ├── resources ├── Hacking_a_Google_Interview_Handout_1.pdf ├── Hacking_a_Google_Interview_Handout_2.pdf ├── Hacking_a_Google_Interview_Handout_3.pdf ├── Hacking_a_Google_Interview_Practice_Questions_Person_A.pdf ├── Hacking_a_Google_Interview_Practice_Questions_Person_B.pdf └── backEndCSharp.pdf ├── search.html ├── slides ├── css │ ├── reveal.min.css │ └── theme │ │ └── serif.css ├── images │ ├── button.png │ ├── change.jpg │ ├── css.jpg │ ├── css1.jpg │ ├── desire.jpg │ ├── developer.jpg │ ├── egg.jpg │ ├── exam.jpg │ ├── foundJob.jpg │ ├── head.jpg │ ├── honest.jpg │ ├── html.jpg │ ├── html1.jpg │ ├── javascript.jpg │ ├── language.jpg │ ├── layout.png │ ├── menu.png │ ├── mockUp.png │ ├── nerdWin.jpg │ ├── references.jpg │ ├── resume.jpg │ ├── risk.jpg │ ├── risk1.jpg │ ├── shave.jpg │ ├── skill.jpg │ ├── skill1.jpg │ ├── sleeping.jpg │ ├── tearOff.jpg │ ├── try.jpg │ ├── webDesigner.jpg │ ├── webDeveloper.jpg │ ├── work.png │ └── yah.jpg ├── index.html ├── js │ └── reveal.min.js ├── lib │ ├── css │ │ └── zenburn.css │ ├── font │ │ ├── league_gothic-webfont.eot │ │ ├── league_gothic-webfont.svg │ │ ├── league_gothic-webfont.ttf │ │ ├── league_gothic-webfont.woff │ │ └── league_gothic_license │ └── js │ │ ├── classList.js │ │ ├── head.min.js │ │ └── html5shiv.js └── plugin │ ├── highlight │ └── highlight.js │ ├── leap │ └── leap.js │ ├── multiplex │ ├── client.js │ ├── index.js │ └── master.js │ ├── notes-server │ ├── client.js │ ├── index.js │ └── notes.html │ ├── notes │ ├── notes.html │ └── notes.js │ ├── postmessage │ ├── example.html │ └── postmessage.js │ ├── print-pdf │ └── print-pdf.js │ ├── remotes │ └── remotes.js │ ├── search │ └── search.js │ └── zoom-js │ └── zoom.js ├── sort.html ├── template.html ├── timeComplexity.html ├── todo.html └── tree.html /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | 46 | [Dd]ebug/ 47 | [Rr]elease/ 48 | x64/ 49 | build/ 50 | [Bb]in/ 51 | [Oo]bj/ 52 | 53 | # MSTest test Results 54 | [Tt]est[Rr]esult*/ 55 | [Bb]uild[Ll]og.* 56 | 57 | *_i.c 58 | *_p.c 59 | *.ilk 60 | *.meta 61 | *.obj 62 | *.pch 63 | *.pdb 64 | *.pgc 65 | *.pgd 66 | *.rsp 67 | *.sbr 68 | *.tlb 69 | *.tli 70 | *.tlh 71 | *.tmp 72 | *.tmp_proj 73 | *.log 74 | *.vspscc 75 | *.vssscc 76 | .builds 77 | *.pidb 78 | *.log 79 | *.scc 80 | 81 | # Visual C++ cache files 82 | ipch/ 83 | *.aps 84 | *.ncb 85 | *.opensdf 86 | *.sdf 87 | *.cachefile 88 | 89 | # Visual Studio profiler 90 | *.psess 91 | *.vsp 92 | *.vspx 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | 101 | # TeamCity is a build add-in 102 | _TeamCity* 103 | 104 | # DotCover is a Code Coverage Tool 105 | *.dotCover 106 | 107 | # NCrunch 108 | *.ncrunch* 109 | .*crunch*.local.xml 110 | 111 | # Installshield output folder 112 | [Ee]xpress/ 113 | 114 | # DocProject is a documentation generator add-in 115 | DocProject/buildhelp/ 116 | DocProject/Help/*.HxT 117 | DocProject/Help/*.HxC 118 | DocProject/Help/*.hhc 119 | DocProject/Help/*.hhk 120 | DocProject/Help/*.hhp 121 | DocProject/Help/Html2 122 | DocProject/Help/html 123 | 124 | # Click-Once directory 125 | publish/ 126 | 127 | # Publish Web Output 128 | *.Publish.xml 129 | *.pubxml 130 | 131 | # NuGet Packages Directory 132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 133 | #packages/ 134 | 135 | # Windows Azure Build Output 136 | csx 137 | *.build.csdef 138 | 139 | # Windows Store app package directory 140 | AppPackages/ 141 | 142 | # Others 143 | sql/ 144 | *.Cache 145 | ClientBin/ 146 | [Ss]tyle[Cc]op.* 147 | ~$* 148 | *~ 149 | *.dbmdl 150 | *.[Pp]ublish.xml 151 | *.pfx 152 | *.publishsettings 153 | 154 | # RIA/Silverlight projects 155 | Generated_Code/ 156 | 157 | # Backup & report files from converting an old project file to a newer 158 | # Visual Studio version. Backup files are not needed, because we have git ;-) 159 | _UpgradeReport_Files/ 160 | Backup*/ 161 | UpgradeLog*.XML 162 | UpgradeLog*.htm 163 | 164 | # SQL Server files 165 | App_Data/*.mdf 166 | App_Data/*.ldf 167 | 168 | ############# 169 | ## Windows detritus 170 | ############# 171 | 172 | # Windows image file caches 173 | Thumbs.db 174 | ehthumbs.db 175 | 176 | # Folder config file 177 | Desktop.ini 178 | 179 | # Recycle Bin used on file shares 180 | $RECYCLE.BIN/ 181 | 182 | # Mac crap 183 | .DS_Store 184 | 185 | 186 | ############# 187 | ## Python 188 | ############# 189 | 190 | *.py[co] 191 | 192 | # Packages 193 | *.egg 194 | *.egg-info 195 | dist/ 196 | build/ 197 | eggs/ 198 | parts/ 199 | var/ 200 | sdist/ 201 | develop-eggs/ 202 | .installed.cfg 203 | 204 | # Installer logs 205 | pip-log.txt 206 | 207 | # Unit test / coverage reports 208 | .coverage 209 | .tox 210 | 211 | #Translations 212 | *.mo 213 | 214 | #Mr Developer 215 | .mr.developer.cfg 216 | -------------------------------------------------------------------------------- /6a4a9ef7-bfbf-40fb-9848-40cf995e2c01.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/6a4a9ef7-bfbf-40fb-9848-40cf995e2c01.dmp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Front end Interview Questions 2 | ============================= 3 | ------- 4 | To rock the interview to achieve what you deserve and to improve your concepts about front end technologies, I have consolidated a list of questions and answers. It's a one stop solution for front end interview process. 5 | 6 | ## Table of Contents 7 | * [JavaScript: Basics and Tricky Questions](#javascript-basics-and-tricky-questions) 8 | * [Algorithm Beginners Level](#javascript-algorithm-beginners-level) 9 | * [Intermediate Level Questions](#javascript-for-intermediate-level-developer) 10 | * [css: Basics and Tricky Questions](#css-basics-and-tricky-questions) 11 | * [DOM related Questions](#javascript-dom-related-questions) 12 | * [html: Basic Questions for Beginners](#html-basic-questions-for-begginers) 13 | 14 | ### [Angular Interview Questions](https://github.com/khan4019/angular-interview-questions) 15 | An exclusive list of Angular interview Questions are [here](https://github.com/khan4019/angular-interview-questions) 16 | 17 | ## [JavaScript: Basics and Tricky Questions](http://www.thatjsdude.com/interview/js2.html) 18 | 21+ questions and answers (for intermediate) 19 | __________________ 20 | 1. What are the differences between ` null ` and ` undefined `? 21 | 2. What are the differences between `==` and `===`? 22 | 3. How would you compare two objects in JavaScript? 23 | 4. 11+ true false related questions that will trick you. 24 | 5. As `[]` is true, `[] == true` should also be true. right? 25 | 6. How could you write a method on instance of a date which will give you next day? 26 | 7. If you want to use an arbitrary object as value of this, how will you do that? 27 | 8. Write a simple function to tell whether 2 is passed as parameter or not? 28 | 9. How could you use Math.max to find the max value in an array? 29 | 10. What the heck is this in JavaScript? 30 | 11. 21 quick questions that will trick you. 31 | 12. How could you set a prefix before everything you log? for example, if you log('my message') it will log: "(app) my message" 32 | 13. What will you see in the console for the following example? 33 | 14. Look at the code below, you have a for loop if you have setTimeout inside it. If log the loop counter inside setTimeout, what will be logged? 34 | 15. Look at the code below, I have a property in a object and I am creating a new object where I am setting it to a new value. If I delete that property what will i get if I try to access that property? 35 | 16. Does JavaScript pass parameter by value or by reference? 36 | 17. How could you implement cache to save calculation time for a recursive fibonacci function? 37 | 18. How could you cache execution of any function? 38 | 19. If you need to implement the following chaining with call back, how will you implement it? 39 | 20. How could you implement moveLeft animation? 40 | 21. How would you implement currying for any functions? 41 | 42 | #### [JS: Answer for Basics and Tricky Questions](http://www.thatjsdude.com/interview/js2.html) 43 | 44 | 45 | 46 | ## [css: Basics and Tricky Questions](http://www.thatjsdude.com/interview/css.html) 47 | 21+ questions and answers 48 | ____________ 49 | 1. What does float do? 50 | 1. How can you clear sides of a floating element? 51 | 1. How can you clear sides of a floating element? 52 | 1. some tricky questions in rapid fire style 53 | 1. Are CSS rule names case sensitive? 54 | 1. Why css selectors mixed up with cases don't apply the styles? 55 | 1. Does margin-top or margin-bottom has effect on inline element? 56 | 1. Does padding-top or padding-bottom has effect on inline element? 57 | 1. Does padding-left or padding-right or margin-left or margin-right has effect on inline element? 58 | 1. If you have a <p> element with font-size: 10rem, will the text be responsive when the user resizes / drags the browser window? 59 | 1. The pseudo class :checked will select inputs with type radio or checkbox, but not <option> elements. 60 | 1. In a HTML document, the pseudo class :root always refers to the <html> element. 61 | 1. The translate() function can move the position of an element on the z-axis. 62 | 1. Which one would you prefer among px, em % or pt and why? 63 | 1. How absolute, relative, fixed and static position differ? 64 | 1. What are the differences between visibility hidden and display none? 65 | 1. What are the differences between inline, block and inline-block? 66 | 1. What are the properties related to box model? 67 | 1. Does overflow: hidden create a new block formatting context? 68 | 1. How could you apply css rules specific to a media? 69 | 1. What is the use of only? 70 | 1. Does the screen keyword apply to the device's physical screen or the browser's viewport? 71 | 1. What are the some pseudo classed u have used? 72 | 1. How do you align a p center-center inside a div? 73 | 1. How do you optimize css selectors? 74 | 1. How can you load css resources conditionally? 75 | 1. Why would you use sprites? 76 | 1. What is specificity? How do u calculate specificity? 77 | 1. What is shadow DOM? 78 | 1. What do you know about transition? 79 | 1. What are the different css filter you can use? 80 | 1. What are the reasons to use preprocessor? 81 | 1. [Show you couple of style example and you have to tell what does it do](http://www.thatjsdude.com/interview/css.html#seeAndTell). 82 | 83 | #### [CSS: Answer for Basics and Tricky Questions](http://www.thatjsdude.com/interview/css.html) 84 | 85 | ### css Deleted questions! 86 | Looks like these are for hardcore designer. Hence, didn't make for developers. 87 | ______ 88 | 1. How descendant css selectors are matched? [get answer](https://www.youtube.com/watch?v=EW8Bg_H_P7M) 89 | 1. How would u implement modularity in css? 90 | 1. If something doesn't work in a specific browser (IE8), you would u approach this problem? 91 | 1. How do you test cross-browser compatibility of your site? 92 | 1. What is the greatest hack you did in css so far? 93 | 1. What is grid layout? 94 | 1. How can you make a site responsive? 95 | 1. Why reset css is useful? or how normalize.css works? 96 | 1. What do you know about text shadows, box shadows? 97 | 98 | 99 | 100 | 101 | ## [JavaScript: Algorithm Beginners Level](http://www.thatjsdude.com/interview/js1.html) 102 | 20 questions and answers (for beginners) 103 | __________________ 104 | 1. Verify a prime number? 105 | 1. Find all prime factors of a number? 106 | 1. Get nth Fibonacci number? 107 | 1. Find the greatest common divisor of two numbers? 108 | 1. Remove duplicate members from an array? 109 | 1. merge two sorted array? 110 | 1. Swap two numbers without using a temp variable? 111 | 1. Reverse a string in JavaScript? 112 | 1. How would you reverse words in a sentence? 113 | 1. Reverse words in place? 114 | 1. Find the first non repeating char in a string? 115 | 1. Remove duplicate characters from a sting? 116 | 1. How will you verify a word as palindrome? 117 | 1. Generate random between 5 to 7 by using defined function. 118 | 1. Find missing number from unsorted array of integers. 119 | 1. Get two numbers that equal to a given number? 120 | 1. Find the largest sum of any two elements? 121 | 1. Total number of zeros from 1 upto n? 122 | 1. Check whether a given string is a substring of bigger string 123 | 2. Get permutations of a string 124 | 125 | #### [JS: Answer for Algorithm Beginners Level](http://www.thatjsdude.com/interview/js1.html) 126 | 127 | 128 | ## JavaScript for Intermediate Level Developer 129 | 130 | 1. What is the event loop? Can you draw a simple diagram to explain event loop? 131 | 1. How to you explain closure? 132 | 3. How would you make sure value of `this` works correctly inside `setTimeout`? 133 | 1. What are the different possible values for `this`? 134 | 1. What is debounce and how could you implement debounce? 135 | 6. How would you communicate with server 136 | 1. Explain Promise to your grandmother 137 | 1. If and website is slow how what would you do to make it faster? 138 | 9. What ES6 feature do you use other than let, var and arrow? 139 | 1. What build tool you use and tell me some advantages to use that build tool 140 | 141 | ## [JavaScript: DOM related Questions](http://www.thatjsdude.com/interview/dom.html) 142 | 21+ questions and answers (for intermediate JS Developers) 143 | __________________ 144 | 1. Is there any difference between window and document? 145 | 1. Does document.onload and window.onload fire at the same time? 146 | 1. Is attribute similar to property? 147 | 1. What are the different ways to get an element from DOM? 148 | 1. What is the fastest way to select elements by using css selectors? 149 | 1. How come, I can't use forEach or similar array methods on a NodeList? 150 | 1. If you need to implement getElementByAttribute, how would you implement it? 151 | 1. How would you add a class to an element by query selector? 152 | 1. How could I verify whether one element is child of another? 153 | 1. What is the best way to create a DOM element? Set innherHTML or use createElement? 154 | 1. What is createDocumentFragment and why you might use it? 155 | 1. What is reflow? What causes reflow? How could you reduce reflow? 156 | 1. What is repaint and when does this happen? 157 | 1. How could you make sure to run some JavaScript when DOM is ready like $(document).ready? 158 | 1. What is event bubble? How does event flows in DOM? 159 | 1. How would you destroy multiple list items with one click handler? 160 | 1. Create a button that is destroyed by clicking in it but two new buttons are created in it's place. 161 | 1. How could you capture all clicks in a page? 162 | 1. How can you get all the texts in a web page? 163 | 1. What is defer and async keyword does in a script tag? 164 | 1. 10 rapid fire questions 165 | 166 | #### [JS: Answers for DOM related Questions](http://www.thatjsdude.com/interview/dom.html) 167 | 168 | 169 | 170 | 171 | ## [html: Basic Questions for Begginers](http://www.thatjsdude.com/interview/html.html) 172 | 173 | 15 basic questions and asnwers 174 | ______ 175 | 1. Why do you need doctype? 176 | 2. What are data-* attributes used for? 177 | 3. How can you generate a public key in html? 178 | 4. How do you change the direction of html text? 179 | 5. How can you highlight text in html? 180 | 6. Can you apply css to a part of html document only? 181 | 7. Will a browser make http request for the following cases? 182 | 8. Which resource would be downloaded first? 183 | 9. What is an optional tag? 184 | 10. What are the differences between div and span? 185 | 11. How would you differentiate between div, section, and article? 186 | 12. How would you select svg or canvas for your site? 187 | 13. How to serve html in multiple languages? 188 | 14. Explain standard and quirks mode. 189 | 15. What is a semantic tag? 190 | 191 | #### [HTML: Answers for Basic Questions](http://www.thatjsdude.com/interview/html.html) 192 | 193 | 194 | ## [JavaScript: LinkedList (part 4: work in process)](http://www.thatjsdude.com/interview/linkedList.html) 195 | Very rough stage..need to finish (for intermediate) 196 | 197 | ## [JavaScript: search and Sort (part 5: work in process)](http://khan4019.github.io/front-end-Interview-Questions/sort.html) 198 | Very rough stage..need to finish (for expert) 199 | 200 | ## [JavaScript: Binary Search Tree (part 6: work in process)](http://khan4019.github.io/front-end-Interview-Questions/bst.html) 201 | Very rough stage..need to finish (for expert) 202 | __________________ 203 | 204 | ## TODO list 205 | 1. CSS: Generate mock up from provided layout 206 | 2. JavaScript: Programming challenges for expert 207 | 3. HR related questions like 208 | 1. What is your weakness 209 | 2. Why are you leaving your current job 210 | 3. Tell me about a project that you weren't able to finish on time 211 | 4. How you resolve conflict among team members 212 | 5. How will you introduce a new technology to the team 213 | 6. Do you prefer to work individually or in a team 214 | 7. Sell this pen/coke/something to me 215 | 8. How much salary do you want 216 | 3. What you don't like you current job 217 | 4. What you like least in your current job 218 | 3. Tree Data Structure in JavaScript 219 | 4. Graph and high order data structure in JavaScript 220 | ___________________ 221 | 222 | Inpsired by, [darcyclarke](https://github.com/darcyclarke/Front-end-Developer-Interview-Questions), [css-tricks](http://css-tricks.com/interview-questions-css/), [david shariff](https://gist.github.com/jesspoemape/87665d65cde3980485ec27cef1602a0d) and some google results. If you want to add any question to this let me know. 223 | -------------------------------------------------------------------------------- /ab5722ba-25d6-4987-b242-ff16ca09acc5.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/ab5722ba-25d6-4987-b242-ff16ca09acc5.dmp -------------------------------------------------------------------------------- /algorithm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JS: interview Questions -3 10 | 11 | 12 | 13 | 14 | 15 | 52 | 53 | 54 | 55 | 56 | 57 | 61 | 62 | 63 | 64 | 65 | 66 |
67 |
68 |

JS: Interview Questions

69 |

Algorithm interview questions for intermediate JavaScript developers

70 |

part-6: expert

71 |

June 29, 2014

72 | 73 |
74 |
75 |
76 | 77 | 78 |
79 | 80 |
81 | 82 | 84 |
85 |

todo list

86 |
87 | 88 |
89 |

Questions list

90 |

from cracking the coding interview

91 | 95 |
96 |
97 |

Express anger!

98 | 106 |
107 |
108 | 109 | 112 |
113 | 114 | 115 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 140 | 164 | 165 | 166 | -------------------------------------------------------------------------------- /css/site.css: -------------------------------------------------------------------------------- 1 | /* Move down content because we have a fixed navbar that is 50px tall */ 2 | body { 3 | padding-bottom: 20px; 4 | } 5 | .purpleBold{ 6 | color:purple; 7 | font-weight: bold; 8 | } 9 | .gray{ 10 | color: gray; 11 | } 12 | .blueish{ 13 | color: rgba(151, 182, 209, 0.98); 14 | } 15 | .singInStuff{ 16 | margin-top: 9px; 17 | } 18 | #uName{ 19 | margin-top: -7px; 20 | } 21 | .skipListItem{ 22 | list-style-type: none; 23 | } 24 | .skipListItem a{ 25 | color: inherit; 26 | } 27 | a:visited 28 | { 29 | color: rgba(218, 209, 149, 0.98); 30 | } 31 | .padding10Px{ 32 | padding: 10px; 33 | } -------------------------------------------------------------------------------- /css/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | pre code { 9 | display: block; padding: 0.5em; 10 | background: #3F3F3F; 11 | color: #DCDCDC; 12 | } 13 | 14 | pre .keyword, 15 | pre .tag, 16 | pre .css .class, 17 | pre .css .id, 18 | pre .lisp .title, 19 | pre .nginx .title, 20 | pre .request, 21 | pre .status, 22 | pre .clojure .attribute { 23 | color: #E3CEAB; 24 | } 25 | 26 | pre .django .template_tag, 27 | pre .django .variable, 28 | pre .django .filter .argument { 29 | color: #DCDCDC; 30 | } 31 | 32 | pre .number, 33 | pre .date { 34 | color: #8CD0D3; 35 | } 36 | 37 | pre .dos .envvar, 38 | pre .dos .stream, 39 | pre .variable, 40 | pre .apache .sqbracket { 41 | color: #EFDCBC; 42 | } 43 | 44 | pre .dos .flow, 45 | pre .diff .change, 46 | pre .python .exception, 47 | pre .python .built_in, 48 | pre .literal, 49 | pre .tex .special { 50 | color: #EFEFAF; 51 | } 52 | 53 | pre .diff .chunk, 54 | pre .subst { 55 | color: #8F8F8F; 56 | } 57 | 58 | pre .dos .keyword, 59 | pre .python .decorator, 60 | pre .title, 61 | pre .haskell .type, 62 | pre .diff .header, 63 | pre .ruby .class .parent, 64 | pre .apache .tag, 65 | pre .nginx .built_in, 66 | pre .tex .command, 67 | pre .prompt { 68 | color: #efef8f; 69 | } 70 | 71 | pre .dos .winutils, 72 | pre .ruby .symbol, 73 | pre .ruby .symbol .string, 74 | pre .ruby .string { 75 | color: #DCA3A3; 76 | } 77 | 78 | pre .diff .deletion, 79 | pre .string, 80 | pre .tag .value, 81 | pre .preprocessor, 82 | pre .pragma, 83 | pre .built_in, 84 | pre .sql .aggregate, 85 | pre .javadoc, 86 | pre .smalltalk .class, 87 | pre .smalltalk .localvars, 88 | pre .smalltalk .array, 89 | pre .css .rules .value, 90 | pre .attr_selector, 91 | pre .pseudo, 92 | pre .apache .cbracket, 93 | pre .tex .formula, 94 | pre .coffeescript .attribute { 95 | color: #CC9393; 96 | } 97 | 98 | pre .shebang, 99 | pre .diff .addition, 100 | pre .comment, 101 | pre .java .annotation, 102 | pre .template_comment, 103 | pre .pi, 104 | pre .doctype { 105 | color: #7F9F7F; 106 | } 107 | 108 | pre .coffeescript .javascript, 109 | pre .javascript .xml, 110 | pre .tex .formula, 111 | pre .xml .javascript, 112 | pre .xml .vbscript, 113 | pre .xml .css, 114 | pre .xml .cdata { 115 | opacity: 0.5; 116 | } 117 | 118 | -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /graph.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JS: Graph related questions -3 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
32 |

JS: Graph related questions

33 |

Graph relatd interview questions for expert JavaScript developers

34 |

part-8: expert

35 |

June 29, 2014

36 | 37 |
38 |
39 |
40 | 41 | 42 |
43 | 44 |
45 | 46 | 48 | 94 |
95 |

Graph

96 |

Question: How do you write a graph in JS?

97 |

Answer:

98 |

 99 | function Graph(){
100 |    this._nodes={};
101 |    this.nodeSize = 0;
102 |    this.edgeSize = 0;
103 | }
104 |         
105 |

Add node: Use simple number or string as key of the node. After creating a node, a simple node is created and returned. If needed you can add new properties.

106 |

107 | Graph.prototype.addNode = function(id){
108 |    if(!this._nodes[id]){
109 |       this.nodeSize++;
110 |       return this._nodes[id] = {
111 |          _outEdges:{},
112 |          _inEdges:{}
113 |       }
114 |    }
115 | }
116 |         
117 |

Add Edge:

118 |

119 | Graph.prototype.addEdge = function (fromId, toId, weight){
120 |    var fromNode, toNode, edge;
121 |    
122 | 
123 |   if(this.getEdge(fromId, toId)){
124 |     return;
125 |   }
126 |   
127 |   fromNode = this._nodes[fromId];
128 |   toNode = this._nodes[toId];
129 | 
130 |   if(!fromNode || !toNode){
131 |     return;
132 |   }
133 | 
134 |   edge = {weight: weight |1};
135 | 
136 |   fromNode._outEdges[toId] = edge;
137 |   toNode._inEdges[fromId] = edge;
138 | 
139 |   this.edgeSize++;
140 | 
141 |   return edge;
142 | }
143 |         
144 |

Get Edge:

145 |

146 | Graph.prototype.getEdge = function(fromId, toId){
147 |   var fromNode = this._nodes[fromId];
148 |   var toNode = this._nodes[toId];
149 | 
150 |   if(fromNode && toNode){
151 |      return fromNode._outEdges[toId];
152 |   }
153 | }
154 |         
155 |

Graph Utility Function

156 |

forEachNode

157 |

158 | Graph.prototype.forEachNode = function(fn){
159 |    var node, nodeId, allNodes;
160 |    allNodes = this._nodes;
161 |   
162 |    for(nodeId in allNodes){
163 |      if(allNodes.hasOwnProperty(nodeId)){
164 |         fn(allNodes[nodeId], nodeId);
165 |     }
166 |   }
167 | }
168 |         
169 |

forEachEdge

170 |

171 | Graph.prototype.forEachEdge = function(fn){
172 |   var edge,node, nodeId, toId, allNodes, outEdges;
173 | 
174 |   allNodes = this._nodes;
175 | 
176 |   for(nodeId in allNodes){
177 |     if(!allNodes.hasOwnProperty(nodeId)) continue;
178 |     
179 |     node = allNodes[nodeId];
180 | 
181 |     outEdges = node._outEdges;
182 | 
183 |     for(toId in outEdges){
184 |       if(!outEdges.hasOwnProperty(toId)) continue;
185 | 
186 |       fn(outEdges[toId], nodeId + ' to ' +toId);
187 |     }
188 |   }
189 | }
190 |         
191 |

ref: javascript code for graph

192 |
193 |
194 |

Depth First Search

195 |

Question: Write an algorithm for Depth First Search in a Graph

196 |

Answer:

197 |

Be careful, graph could have cycle (pointing to itself)

198 |

199 | dfs(vertex v)
200 | {
201 | visit(v);
202 | for each neighbor w of v
203 |     if w is unvisited
204 |     {
205 |     dfs(w);
206 |     add edge vw to tree T
207 |     }
208 | }
209 |         
210 |

ref: dfs and bfs pseudocode

211 |
212 |
213 |

Breadth First Search

214 |

Question: Write an algorithm for Breadth First Search

215 |

Answer:

216 |
217 |
218 |

Questions list

219 |

from cracking the coding interview

220 | 228 |
229 |
230 |

References

231 |
  • Data Structre Visualization
  • 232 |
    233 |
    234 |

    Express anger!

    235 | 243 |
    244 |
    245 | 246 |
    247 |

    ©thatJSDude 2014

    248 |
    249 |
    250 | 251 | 252 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 277 | 301 | 302 | 303 | -------------------------------------------------------------------------------- /hashtable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JS: hash table related interview questions 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 25 | 26 | 27 | 28 | 29 | 30 |
    31 |
    32 |

    JS: Hashtable

    33 |

    Hashtable related interview questions for intermediate JavaScript developers

    34 |

    part-X: expert

    35 |

    June 29, 2014

    36 | 37 |
    38 |
    39 |
    40 | 41 | 42 |
    43 | 44 |
    45 | 46 | 48 |
    49 |

    todo list

    50 |
      51 |
    • hash function
    • 52 |
    • collision
    • 53 |
    • 54 |
    • 55 |
    • 56 |
    • 57 |
    • 58 |
    • 59 |
    • 60 |
    • hash collision
    • 61 |
    62 |

    Resources

    63 | 72 |
    73 |
    74 |

    HasTable

    75 |

    Question:

    76 |

    Answer:

    77 |

    Its a key value pair. You will have a key to find out the value associate with the key. Sometimes, this is called as associative array. Think about your school. Every student has a unique key (student ID) by using this ID, you can find out his/her name and other information.

    78 |
    79 |
    80 |

    HashMap Vs Hashtable

    81 |

    Question:

    82 |

    Answer:

    83 |

    84 |

    ref: good one

    85 |

    ref: Differences between HashMap and Hashtable? or has a table of difference

    86 |
    87 |
    88 |

    Not so important or future deleted

    89 |
      90 |
    • 91 |
    • 92 |
    • 93 |
    • 94 |
    • 95 |
    • 96 |
    • 97 |
    • 98 |
    • 99 |
    • 100 |
    101 |
    102 |
    103 |

    Express anger!

    104 | 112 |
    113 |
    114 | 115 |
    116 |

    ©thatJSDude 2015

    117 |
    118 |
    119 | 120 | 121 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 146 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /hrRelated.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | HR relate: Interview Questions 10 | 11 | 12 | 13 | 14 | 15 | 49 | 50 | 51 | 52 | 53 | 54 | 58 | 59 | 60 | 61 | 62 | 63 |
    64 |
    65 |

    HR related: tricky Question

    66 |

    non technical but openly asked

    67 |

    May 4, 2014

    68 | 70 |
    71 |
    72 |
    73 | 74 | 75 |
    76 | 77 |
    78 | 79 | 81 | 82 |
    83 |

    About Yourself

    84 |

    Question: Tell me about yourself

    85 |

    Answer: This is the most innocent question and 30-40% interviewer makes their 50% decision based on the answer you have given for this question.

    86 |

    First Impression: This is the first impression you are making with the interviewer. If you mess up the first impression (similar while you are dating with someone), there is a very little chance for you to recover.

    87 | things interviewer(s) is looking for 88 |
      89 |
    • Effective communication skill
    • 90 |
    • prioritize your work
    • 91 |
    • passion, dedication
    • 92 |
    • leadership, team player, solving problem
    • 93 |
    • and anything very important/ achievement that makes you very unique
    • 94 |
    95 |
    96 |

    Strategy

    97 |
      98 |
    1. should be between 60-90 seconds
    2. 99 |
    3. First talk about the best project you are working on in your current job. If you are a fresh graduate talk about the best project you have worked 100 |
        101 |
      • First: What was the problem, you or your team solved?
      • 102 |
      • Second: Why it was useful/important to solve that problem
      • 103 |
      • Third: How you solve the problem? Talk about something innovative/ out of the box you did
      • 104 |
      • Fourth: What were the challenges and how you have overcame those
      • 105 |
      • Fifth: Any feedback or appreciation (could be client feedback or how many dollars you have saved, blah blah, blah) you have received
      • 106 |
      107 |
    4. 108 |
    5. Tell tittle of one or two project you have did. Simply one line
    6. 109 |
    7. Tell 2 lines about your personal project/passion that matches with the job you are applying 110 |
        111 |
      • What problem or why are doing it
      • 112 |
      • How you are doing it (technologies, approach, etc.)
      • 113 |
      114 |
    8. 115 |
    9. Give him a option to choose. like, "if you want, i can talk more about any of the projects i did at work or my personal project (tell the name)"
    10. 116 |
    117 |

    Sample Answer: I am currently working in the web development team at ABCD. The focus of the team .... . My day to day activities are these. Recently I have worked on ... to solve this... and this

    118 |

    Before doing this i have worked on

    119 |

    besides, i am interested in and i have

    120 |

    all my codes are at github

    121 |

    if you want i can talk more about

    122 |
    123 | 124 |

    HR related Question

    125 | 143 |

    Deleted Questions

    144 | 151 | 152 |
    153 |

    More Questions

    154 |
      155 | 156 |
    • 157 |
    • 158 |
    • 159 |
    • 160 |
    161 |
    162 |
    163 | 167 |
    168 |
    169 | 170 |
    171 |

    ©thatJSDude 2014

    172 |
    173 |
    174 | 175 | 176 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 201 | 225 | 226 | 227 | -------------------------------------------------------------------------------- /images/Pooh2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/Pooh2.jpg -------------------------------------------------------------------------------- /images/asyncVsDefer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/asyncVsDefer.jpg -------------------------------------------------------------------------------- /images/binarySearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/binarySearch.png -------------------------------------------------------------------------------- /images/boxModel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/boxModel.gif -------------------------------------------------------------------------------- /images/bstWrong.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/bstWrong.gif -------------------------------------------------------------------------------- /images/eventBubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/eventBubble.png -------------------------------------------------------------------------------- /images/favicon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/favicon.jpg -------------------------------------------------------------------------------- /images/flower.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/flower.jpg -------------------------------------------------------------------------------- /images/html5_responsive_design.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/html5_responsive_design.jpg -------------------------------------------------------------------------------- /images/inorder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/inorder.jpg -------------------------------------------------------------------------------- /images/insert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/insert.jpg -------------------------------------------------------------------------------- /images/insertionSort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/insertionSort.png -------------------------------------------------------------------------------- /images/interview_mock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/interview_mock.png -------------------------------------------------------------------------------- /images/layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/layout.png -------------------------------------------------------------------------------- /images/layout2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/layout2.png -------------------------------------------------------------------------------- /images/layout3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/layout3.png -------------------------------------------------------------------------------- /images/linkedList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/linkedList.png -------------------------------------------------------------------------------- /images/mergeSort.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/mergeSort.gif -------------------------------------------------------------------------------- /images/pooh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/pooh.jpg -------------------------------------------------------------------------------- /images/postorder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/postorder.jpg -------------------------------------------------------------------------------- /images/preorder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/preorder.jpg -------------------------------------------------------------------------------- /images/quickSort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/quickSort.png -------------------------------------------------------------------------------- /images/rb_tree1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/rb_tree1.gif -------------------------------------------------------------------------------- /images/rb_tree1a.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/rb_tree1a.gif -------------------------------------------------------------------------------- /images/reFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/reFlow.png -------------------------------------------------------------------------------- /images/repaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/repaint.png -------------------------------------------------------------------------------- /images/scope/closure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/scope/closure.jpg -------------------------------------------------------------------------------- /images/scope/closureOneFunc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/scope/closureOneFunc.png -------------------------------------------------------------------------------- /images/scope/closureTwoFunc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/scope/closureTwoFunc.png -------------------------------------------------------------------------------- /images/selectionSort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/images/selectionSort.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | front end Interview 12 | 13 | 14 | 15 | 16 | 17 | 45 | 46 | 47 | 48 | 49 | 50 | 54 | 55 | 56 | 57 | 58 | 71 | 72 | 73 |
    74 |
    75 |

    Interview Questions

    76 |

    for front-end-Developer

    77 |

    Only for JS developer when they have to answer some side questions to make interviewer comfortable...

    78 |
    79 |
    80 | 81 |
    82 | 83 |
    84 | 92 |
    93 |
    94 |

    html

    95 |

    HTML might be heart of a website, but least utilized and explored. js dude followed the same path and put some basic questions, when you are applying for position directly not for html/markup developer or designer.

    96 |

    View details »

    97 |
    98 |
    99 |

    css

    100 |

    If you are a javascript developer by heart, they will ask you some css warmup question to make sure u can fill the gap when designers are onn vacation to have a new tatoo in the last part of their body...

    101 |

    View details »

    102 |
    103 |
    104 |

    JavaScript (part-1)

    105 |

    This is your battle field. you have to be rock solid in Javascript. thats what bring you the paycheck. In this section i will go through some mid to highlevel javascript interview qustions for a solid foundation...

    106 |

    View details »

    107 |
    108 |
    109 |
    110 |
    111 |

    JavaScript (part-2)

    112 |

    Features and tenhniques in JavaScript is fun, easy and sometimes tricky. Concepts and interview questions about tricky areas in about null, undefined, scope, closure, hoisting, cache, chaining, currying will be discussion. Besides, there are 30+ quick tricky questions that will blow your mind.

    113 |

    Check it out »

    114 |
    115 |
    116 |

    DOM related

    117 |

    This is JavaScript part-3 for intermediate JavaScript developer. Dom plays an imporatnt role in your day to day development activities and it is also important for interview. Here i talked about 21+ question to nail DOM related interview questions.

    118 |

    Check it out »

    119 |
    120 |
    121 |

    Linked List

    122 |

    Linked list is a tricky part in interview. You will find a lot of question online about linked list. Most of them are solved in c/c++ or in Java. However, if you want to solve them in JavaScript way, your dude is here to help. also covered stack and queue

    123 |

    Check it out »

    124 |
    125 |
    126 |
    127 |
    128 |

    sort

    129 |

    coming soor. working draft

    130 |

    Check it out »

    131 |
    132 |
    133 |

    bst

    134 |

    all about tre and frorest.

    135 |

    coming soor. working draft

    136 |

    Check it out »

    137 |
    138 |
    139 |

    graph, map

    140 |

    getting high level.

    141 |

    Check it out »

    142 |
    143 |
    144 |
    145 |
    146 |

    browser

    147 |

    Browser is your play ground. The better you know your play ground, the easier for you to play the game. and sometimes you can easily play the trick. Some core browser concepts will make you a good developer. Hence interviewer wants to make sure, you have enough knowledge to win in the battle field..

    148 |

    Check it out »

    149 |
    150 |
    151 |

    web Development

    152 |

    Thats what you are, a web development, a plain simple web developer. you have to know the core of web development technologies. A way to optimize user experience, resource management and overall architecture of the internet. Otherwise you will fail miserably in the larger scale of website.

    153 |

    Check it out »

    154 |
    155 |
    156 |

    all Questions

    157 |

    This is the list/ summary of all the question you have to know to have a decent front end developer job. Based on your focus you have to go in depth of the area you work on. For example, a javascript developer has to know more JS and designer will be strong in css. and both has to know basic HTML.

    158 |

    git hub repo »

    159 |
    160 |
    161 | 162 |
    163 |
    164 | 165 |
    166 |

    ©thatJSDude

    167 |
    168 |
    169 | 170 | 171 | 173 | 174 | 175 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /js/highlight.pack.js: -------------------------------------------------------------------------------- 1 | var hljs=new function(){function l(o){return o.replace(/&/gm,"&").replace(//gm,">")}function b(p){for(var o=p.firstChild;o;o=o.nextSibling){if(o.nodeName.toUpperCase()=="CODE"){return o}if(!(o.nodeType==3&&o.nodeValue.match(/\s+/))){break}}}function h(p,o){return Array.prototype.map.call(p.childNodes,function(q){if(q.nodeType==3){return o?q.nodeValue.replace(/\n/g,""):q.nodeValue}if(q.nodeName.toUpperCase()=="BR"){return"\n"}return h(q,o)}).join("")}function a(q){var p=(q.className+" "+(q.parentNode?q.parentNode.className:"")).split(/\s+/);p=p.map(function(r){return r.replace(/^language-/,"")});for(var o=0;o"}function x(z){y+=""}function o(z){(z.event=="start"?t:x)(z.node)}while(p.length||r.length){var w=u();y+=l(v.substr(q,w[0].offset-q));q=w[0].offset;if(w==p){s.reverse().forEach(x);do{o(w.splice(0,1)[0]);w=u()}while(w==p&&w.length&&w[0].offset==q);s.reverse().forEach(t)}else{if(w[0].event=="start"){s.push(w[0].node)}else{s.pop()}o(w.splice(0,1)[0])}}return y+l(v.substr(q))}function f(r){function o(s){return(s&&s.source)||s}function p(t,s){return RegExp(o(t),"m"+(r.cI?"i":"")+(s?"g":""))}function q(z,x){if(z.compiled){return}z.compiled=true;var u=[];if(z.k){var s={};function A(B,t){if(r.cI){t=t.toLowerCase()}t.split(" ").forEach(function(C){var D=C.split("|");s[D[0]]=[B,D[1]?Number(D[1]):1];u.push(D[0])})}z.lR=p(z.l||"\\b"+hljs.IR+"\\b(?!\\.)",true);if(typeof z.k=="string"){A("keyword",z.k)}else{for(var y in z.k){if(!z.k.hasOwnProperty(y)){continue}A(y,z.k[y])}}z.k=s}if(x){if(z.bWK){z.b="\\b("+u.join("|")+")\\b(?!\\.)\\s*"}z.bR=p(z.b?z.b:"\\B|\\b");if(!z.e&&!z.eW){z.e="\\B|\\b"}if(z.e){z.eR=p(z.e)}z.tE=o(z.e)||"";if(z.eW&&x.tE){z.tE+=(z.e?"|":"")+x.tE}}if(z.i){z.iR=p(z.i)}if(z.r===undefined){z.r=1}if(!z.c){z.c=[]}for(var w=0;w'+O[0]+""}else{r+=O[0]}Q=B.lR.lastIndex;O=B.lR.exec(N)}return r+N.substr(Q)}function z(){if(B.sL&&!e[B.sL]){return l(w)}var N=B.subLanguageMode=="continuous"?B.top:undefined;var r=B.sL?d(B.sL,w,true,N):g(w);if(B.r>0){v+=r.keyword_count;A+=r.r}B.top=r.top;return''+r.value+""}function L(){return B.sL!==undefined?z():I()}function K(O,r){var N=O.cN?'':"";if(O.rB){x+=N;w=""}else{if(O.eB){x+=l(r)+N;w=""}else{x+=N;w=r}}B=Object.create(O,{parent:{value:B}})}function D(N,r){w+=N;if(r===undefined){x+=L();return 0}var P=o(r,B);if(P){x+=L();K(P,r);return P.rB?0:r.length}var Q=s(B,r);if(Q){var O=B;if(!(O.rE||O.eE)){w+=r}x+=L();do{if(B.cN){x+=""}A+=B.r;B=B.parent}while(B!=Q.parent);if(O.eE){x+=l(r)}w="";if(Q.starts){K(Q.starts,"")}return O.rE?0:r.length}if(t(r,B)){throw new Error('Illegal lexem "'+r+'" for mode "'+(B.cN||"")+'"')}w+=r;return r.length||1}var H=e[E];if(!H){throw new Error('Unknown language: "'+E+'"')}f(H);var B=M||H;var x="";for(var F=B;F!=H;F=F.parent){if(F.cN){x=''+x}}var w="";var A=0;var v=0;try{var u,q,p=0;while(true){B.t.lastIndex=p;u=B.t.exec(G);if(!u){break}q=D(G.substr(p,u.index-p),u[0]);p=u.index+q}D(G.substr(p));for(var F=B;F.parent;F=F.parent){if(F.cN){x+=""}}return{r:A,keyword_count:v,value:x,language:E,top:B}}catch(J){if(J.message.indexOf("Illegal")!=-1){return{r:0,keyword_count:0,value:l(G)}}else{throw J}}}function g(s){var o={keyword_count:0,r:0,value:l(s)};var q=o;for(var p in e){if(!e.hasOwnProperty(p)){continue}var r=d(p,s,false);r.language=p;if(r.keyword_count+r.r>q.keyword_count+q.r){q=r}if(r.keyword_count+r.r>o.keyword_count+o.r){q=o;o=r}}if(q.language){o.second_best=q}return o}function i(q,p,o){if(p){q=q.replace(/^((<[^>]+>|\t)+)/gm,function(r,v,u,t){return v.replace(/\t/g,p)})}if(o){q=q.replace(/\n/g,"
    ")}return q}function m(r,u,p){var v=h(r,p);var t=a(r);if(t=="no-highlight"){return}var w=t?d(t,v,true):g(v);t=w.language;var o=c(r);if(o.length){var q=document.createElementNS("http://www.w3.org/1999/xhtml","pre");q.innerHTML=w.value;w.value=j(o,c(q),v)}w.value=i(w.value,u,p);var s=r.className;if(!s.match("(\\s|^)(language-)?"+t+"(\\s|$)")){s=s?(s+" "+t):t}r.innerHTML=w.value;r.className=s;r.result={language:t,kw:w.keyword_count,re:w.r};if(w.second_best){r.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function n(){if(n.called){return}n.called=true;Array.prototype.map.call(document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","pre"),b).filter(Boolean).forEach(function(o){m(o,hljs.tabReplace)})}function k(){window.addEventListener("DOMContentLoaded",n,false);window.addEventListener("load",n,false)}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=m;this.initHighlighting=n;this.initHighlightingOnLoad=k;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.inherit=function(q,r){var o={};for(var p in q){o[p]=q[p]}if(r){for(var p in r){o[p]=r[p]}}return o}}();hljs.LANGUAGES.diff=function(a){return{c:[{cN:"chunk",b:"^\\@\\@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +\\@\\@$",r:10},{cN:"chunk",b:"^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$",r:10},{cN:"chunk",b:"^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$",r:10},{cN:"header",b:"Index: ",e:"$"},{cN:"header",b:"=====",e:"=====$"},{cN:"header",b:"^\\-\\-\\-",e:"$"},{cN:"header",b:"^\\*{3} ",e:"$"},{cN:"header",b:"^\\+\\+\\+",e:"$"},{cN:"header",b:"\\*{5}",e:"\\*{5}$"},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}}(hljs);hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/;/,sL:"xml"}],r:0},{cN:"function",bWK:true,e:/{/,k:"function",c:[{cN:"title",b:/[A-Za-z$_][0-9A-Za-z$_]*/},{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/["'\(]/}],i:/\[|%/}]}}(hljs);hljs.LANGUAGES.xml=function(a){var c="[A-Za-z0-9\\._:-]+";var b={eW:true,r:0,c:[{cN:"attribute",b:c,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:true,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",r:0,c:[{cN:"title",b:"[^ /><]+"},b]}]}}(hljs);hljs.LANGUAGES.markdown=function(a){return{c:[{cN:"header",b:"^#{1,3}",e:"$"},{cN:"header",b:"^.+?\\n[=-]{2,}$"},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",b:"\\*.+?\\*"},{cN:"emphasis",b:"_.+?_",r:0},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",b:"`.+?`"},{cN:"code",b:"^ ",e:"$",r:0},{cN:"horizontal_rule",b:"^-{3,}",e:"$"},{b:"\\[.+?\\]\\(.+?\\)",rB:true,c:[{cN:"link_label",b:"\\[.+\\]"},{cN:"link_url",b:"\\(",e:"\\)",eB:true,eE:true}]}]}}(hljs);hljs.LANGUAGES.php=function(a){var e={cN:"variable",b:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var b=[a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),{cN:"string",b:'b"',e:'"',c:[a.BE]},{cN:"string",b:"b'",e:"'",c:[a.BE]}];var c=[a.BNM,a.CNM];var d={cN:"title",b:a.UIR};return{cI:true,l:a.UIR,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return implements parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try this switch continue endfor endif declare unset true false namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[a.CLCM,a.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"}]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:a.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[a.BE]},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"},e,{cN:"function",bWK:true,e:"{",k:"function",i:"\\$|\\[|%",c:[d,{cN:"params",b:"\\(",e:"\\)",c:["self",e,a.CBLCLM].concat(b).concat(c)}]},{cN:"class",bWK:true,e:"{",k:"class",i:"[:\\(\\$]",c:[{bWK:true,eW:true,k:"extends",c:[d]},d]},{b:"=>"}].concat(b).concat(c)}}(hljs);hljs.LANGUAGES.ini=function(a){return{cI:true,i:"[^\\s]",c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}}(hljs);hljs.LANGUAGES.coffeescript=function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module exports global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f={cN:"title",b:a};var e={cN:"subst",b:"#\\{",e:"}",k:b,};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",b:"'''",e:"'''",c:[c.BE]},{cN:"string",b:"'",e:"'",c:[c.BE],r:0},{cN:"string",b:'"""',e:'"""',c:[c.BE,e]},{cN:"string",b:'"',e:'"',c:[c.BE,e],r:0},{cN:"regexp",b:"///",e:"///",c:[c.HCM]},{cN:"regexp",b:"//[gim]*",r:0},{cN:"regexp",b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bWK:true,k:"class",e:"$",i:"[:\\[\\]]",c:[{bWK:true,k:"extends",eW:true,i:":",c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true}])}}(hljs);hljs.LANGUAGES.json=function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}}(hljs); -------------------------------------------------------------------------------- /js/jquery.fitvids.min.js: -------------------------------------------------------------------------------- 1 | (function(a){"use strict";a.fn.fitVids=function(b){var c={customSelector:null},d=document.createElement("div"),e=document.getElementsByTagName("base")[0]||document.getElementsByTagName("script")[0];return d.className="fit-vids-style",d.innerHTML="­",e.parentNode.insertBefore(d,e),b&&a.extend(c,b),this.each(function(){var b=["iframe[src*='player.vimeo.com']","iframe[src*='www.youtube.com']","iframe[src*='www.youtube-nocookie.com']","iframe[src*='www.kickstarter.com']","object","embed"];c.customSelector&&b.push(c.customSelector);var d=a(this).find(b.join(","));d.each(function(){var b=a(this);if(!("embed"===this.tagName.toLowerCase()&&b.parent("object").length||b.parent(".fluid-width-video-wrapper").length)){var c="object"===this.tagName.toLowerCase()||b.attr("height")&&!isNaN(parseInt(b.attr("height"),10))?parseInt(b.attr("height"),10):b.height(),d=isNaN(parseInt(b.attr("width"),10))?b.width():parseInt(b.attr("width"),10),e=c/d;if(!b.attr("id")){var f="fitvid"+Math.floor(999999*Math.random());b.attr("id",f)}b.wrap('
    ').parent(".fluid-width-video-wrapper").css("padding-top",100*e+"%"),b.removeAttr("height").removeAttr("width")}})})}})(jQuery); -------------------------------------------------------------------------------- /js/toggleExample.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 'use strict'; 3 | var allExamples = document.querySelectorAll('.toggleExample'), 4 | classes, 5 | toggleHandler = function (el) { 6 | classes = document.getElementById(this.id+'Example').classList; 7 | this.innerHTML = (classes.contains('hide') ? 'Hide': 'Show') + this.innerHTML.substr(4); 8 | classes.toggle('hide'); 9 | }; 10 | 11 | for (var i = allExamples.length - 1; i >= 0; i--) { 12 | allExamples[i].addEventListener('click', toggleHandler); 13 | }; 14 | })(); -------------------------------------------------------------------------------- /oop.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Intermediate developer 10 | 11 | 12 | 13 | 14 | 15 | 49 | 50 | 51 | 52 | 53 | 54 | 58 | 59 | 60 | 61 | 62 | 63 |
    64 |
    65 |

    JS: OOP Quiz

    66 |

    part -3: intermediate

    67 |

    August 26, 2014

    68 | 70 |
    71 |
    72 |
    73 | 74 | 75 |
    76 | 77 |
    78 | 79 | 81 |
    82 |

    OOP

    83 |

    Object oriented programming (OOP) has the following key parts

    84 |
      85 |
    • class
    • 86 |
    • inheritance
    • 87 |
    • polymorphism
    • 88 |
    • encapsulation
    • 89 |
    • Abstraction
    • 90 |
    • prototype chain
    • 91 |
    • super
    • 92 |
    • 93 |
    • 94 |
    95 |
    96 |
    97 |

    class

    98 |

    a function is a class in javascript. you can use either function declaration or function expression, either one will work.

    99 |
    
    100 | function Person(){}
    101 | //or
    102 | var Person = function(){}
    103 |         
    104 |

    if you want to have a property, u have to add the property to this. Similarly, if you want to have a method on the object, you will add that to this object as well. In the following code, we have a property called name and a method sayHi

    105 |
    
    106 | function Person(name){
    107 |   this.name = name;
    108 |   this.sayHi = function(){
    109 |       return 'Hi from ' + this.name;
    110 |   }
    111 | }
    112 |         
    113 |

    to create an instance of the object, you need to use new

    114 |
    
    115 | var shelly = new Person('Sheldon Cooper');
    116 | var amy = new Person('Amy Farrah Fowler');
    117 | 
    118 | shelly.sayHi(); //"Hi from Sheldon Cooper"
    119 | amy.sayHi(); //"Hi from Amy Farrah Fowler"
    120 |         
    121 |

    This works if you create five objects. However, every single object has it's own sayHi method which is not memory efficient if you create one hundred object. We have to use inheritance in similar case

    122 |
    123 |
    124 |

    prototype Inheritance

    125 |

    prototype if you add the method to the prototype object of your class, then the method will be maintained at a higher level of the inheritance.

    126 |
    
    127 | function Person(name){
    128 |   this.name = name;  
    129 | }
    130 | 
    131 | Person.prototype.sayHi = function(){
    132 |   return 'Hi from '+ this.name;
    133 | }
    134 |         
    135 |

    You can test that sayHi is not a method on the constructed object by using hasOwnProperty

    136 |
    
    137 | var shelly = new Person('Sheldon Cooper');
    138 | 
    139 | shelly.hasOwnProperty('sayHi'); //false
    140 |         
    141 |

    Even if you add a method to the prototype object after creating the object, it will also be inherited.

    142 |
    
    143 | Person.prototype.sayBye = function(){
    144 |   return 'Good bye from '+ this.name;
    145 | }
    146 | 
    147 | shelly.sayBye(); //"Good bye from Sheldon Cooper"
    148 |         
    149 |
    150 |
    151 |

    Inherit Object

    152 |

    If you want to inherit directly from an object, you can use object.create

    153 |
    
    154 | function Dad(name){
    155 |   this.name = name;
    156 |   this.whoIsYourDad = function(){
    157 |      return this.name;
    158 |   }
    159 | }
    160 | 
    161 | var son = 
    162 | 
    163 | 
    164 |         
    165 |
    
    166 | //internally it works 
    167 | Object.create = function(o) {
    168 |   function F() {}
    169 |   F.prototype = o;
    170 |   return new F();
    171 | };
    172 |         
    173 |
    174 |
    175 |

    encapsulation

    176 |

    177 |
    178 |
    179 |
    180 |

    Abstract

    181 |

    The abstract modifier indicates that the thing being modified has a missing or incomplete implementation. The abstract modifier can be used with classes, methods, properties, indexers, and events. Use the abstract modifier in a class declaration to indicate that a class is intended only to be a base class of other classes. Members marked as abstract, or included in an abstract class, must be implemented by classes that derive from the abstract class.

    182 |
      183 |
    • An abstract class cannot be instantiated.
    • 184 |
    • An abstract class may contain abstract methods and accessors.
    • 185 |
    • It is not possible to modify an abstract class with the sealed (C# Reference) modifier because the two modifers have opposite meanings. The sealed modifier prevents a class from being inherited and the abstract modifier requires a class to be inherited.
    • 186 |
    • A non-abstract class derived from an abstract class must include actual implementations of all inherited abstract methods and accessors.
    • 187 |
    188 |
    
    189 |           
    190 |         
    191 |

    ref: C# abstract

    192 |
    193 |
    194 |

    virtual

    195 |

    how to achieve virtual in javascript

    196 |
    
    197 |           
    198 |         
    199 |

    ref: C# virtual

    200 |
    201 |
    202 |

    base

    203 |

    how to achieve base in JavaScript

    204 |
    
    205 |           
    206 |         
    207 |

    ref: C# base

    208 |
    209 |
    210 |

    namespace

    211 |

    how to achieve namespace in JavaScript

    212 |
    213 |
    214 |

    static

    215 |

    ref: how to achieve static in JS

    216 |
    217 | 218 |
    219 | 223 |
    224 |
    225 | 226 |
    227 |

    ©thatJSDude

    228 |
    229 |
    230 | 231 | 232 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 257 | 258 | 259 | -------------------------------------------------------------------------------- /questions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | JS: array 12 | 13 | 14 | 15 | 16 | 17 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 50 |
    51 |
    52 |

    question bank

    53 |

    master interview in html

    54 |

    January 05, 2013

    55 |
    56 |
    57 |
    58 | 59 | browser: 60 |
      61 |
    • what happen when u click on a link. career cup
    • 62 |
    • What is default behaviour of anchor and how do you prevent it?
    • 63 |
    • 64 |
    • 65 |
    • 66 |
    67 | css: 68 |
      69 |
    • detect user agent on css: u want serve different css file on mobile devices career cup
    • 70 |
    • float odd images on left and even on right
    • 71 |
    • 72 |
    • 73 |
    • 74 |
    • 75 |
    • 76 |
    • 77 |
    • 78 |
    • 79 |
    80 | overall: 81 |
      82 |
    • What technical details should a programmer of a web application consider before making the site public?stackexchange
    • 83 |
    • What is the difference between GET and POST methods?
    • 84 |
    85 | 86 |
    87 | 88 |
    89 |

    ©thatJSDude 2013

    90 |
    91 |
    92 | 93 | 94 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /resources/Hacking_a_Google_Interview_Handout_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/Hacking_a_Google_Interview_Handout_1.pdf -------------------------------------------------------------------------------- /resources/Hacking_a_Google_Interview_Handout_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/Hacking_a_Google_Interview_Handout_2.pdf -------------------------------------------------------------------------------- /resources/Hacking_a_Google_Interview_Handout_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/Hacking_a_Google_Interview_Handout_3.pdf -------------------------------------------------------------------------------- /resources/Hacking_a_Google_Interview_Practice_Questions_Person_A.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/Hacking_a_Google_Interview_Practice_Questions_Person_A.pdf -------------------------------------------------------------------------------- /resources/Hacking_a_Google_Interview_Practice_Questions_Person_B.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/Hacking_a_Google_Interview_Practice_Questions_Person_B.pdf -------------------------------------------------------------------------------- /resources/backEndCSharp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/resources/backEndCSharp.pdf -------------------------------------------------------------------------------- /search.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JS: interview Questions -5 10 | 11 | 12 | 13 | 14 | 15 | 52 | 53 | 54 | 55 | 56 | 57 | 61 | 62 | 63 | 64 | 65 | 66 |
    67 |
    68 |

    JS: Interview Questions

    69 |

    Search and sort related interview questions for intermediate JavaScript developers

    70 |

    part-5: intermediate

    71 |

    June 29, 2014

    72 |
    74 |
    75 |
    76 | 77 | 78 |
    79 | 80 |
    81 | 82 | 84 |
    85 |

    todo list

    86 |
      87 |
    1. add questions
    2. 88 |
    3. 89 |
    4. 90 |
    5. 91 |
    6. 92 |
    93 |
    94 | 95 |
    96 |

    binary search

    97 |

    Question: How to implement binary search algorithm?

    98 |

    Answer:Binary search tries to find an item in a sorted list. For example, if you have an array like [3,9,11,21,32,37,43,56,63,69,78] and you are looking for 69.

    99 |

    How it works:Lets select the middle one, you got: 37. You are looking for 69. As you know, the array is sorted, you will know that 69 will be after 37. This means upper half of the array. Now, you will go and check the middle item of the upper half of the array. In that way, you are saving time to search the item in the lower half of the array.

    100 |

    The middle item of the upper half of the array is 63. Which is smaller than the number you are looking for. Hence, you can skip the lower part of the upper half. This means, your item will be in the top most quarter of the array. Now, you will keep the right side and pick the middle

    101 |

    The middle of the right side is 69. Thats what you were looking for.

    102 |

    Why binary search If you were using linear search (start from the left and check one by one), you have to check 10 times to find the item. If you use binary search, you get after three times. You see the benefits!!

    103 | 104 |

    Now if you have a million items in an array. For example, you have number 0 to 1000,000 and you want to find out 696,969. The binary search will take only 17 steps to find the item. where as if you start a linear search, it will take 696,969 steps to find the item.

    105 |
    
    106 | function binarySearchIterative(arr, val){
    107 |    var start = 0,
    108 |        end = arr.length-1, 
    109 |        mid, 
    110 |        midVal;
    111 |     
    112 |    while(end >= start){
    113 |      mid = Math.floor((start+end)/2);
    114 | 
    115 |      midVal = arr[mid];
    116 |           
    117 |      if(midVal==val)
    118 |          return mid;
    119 |      
    120 |      if(val<midVal)
    121 |          end = mid - 1;
    122 |      if(val>midVal)
    123 |          start = mid + 1;
    124 |           
    125 |   } 
    126 |   return -1;
    127 | }
    128 | 
    129 | //try it now
    130 | binarySearchIterative([1,2,3,4,5], 1); //0
    131 | binarySearchIterative([1,2,3,4,5], 5); //4
    132 | binarySearchIterative([1,2,3,4,5], 55); //-1
    133 |         
    134 |

    Complexity

    135 | 136 |

    Recusrive algo

    137 |
    
    138 | function binarySearchRecursive(arr, val, startIdx, endIdx){
    139 |    var mid = Math.floor((startIdx + endIdx)/2), 
    140 |        midVal = arr[mid];
    141 |    
    142 |    if(midVal == val)
    143 |       return mid;
    144 |    if (endIdx < startIdx)
    145 |       return -1;
    146 | 
    147 |    if (val<midVal)
    148 |       return binarySearchRecursive(arr, val, startIdx, mid -1);
    149 |    else if (val > midVal)
    150 |       return binarySearchRecursive(arr, val, mid + 1, endIdx);
    151 | 
    152 | }
    153 | 
    154 | //try it now
    155 | binarySearchRecursive([1,2,3,4,5], 1, 0, 4); //0
    156 | binarySearchRecursive([1,2,3,4,5], 5, 0, 4); //4
    157 | binarySearchRecursive([1,2,3,4,5], 2, 0, 4); //1
    158 | binarySearchRecursive([1,2,3,4,5], 22, 0, 4); //-1
    159 |         
    160 |

    ref: binary search

    161 |
    162 | 163 |
    164 |

    Express anger!

    165 | 173 |
    174 |
    175 | 176 |
    177 |

    ©thatJSDude 2014

    178 |
    179 |
    180 | 181 | 182 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 207 | 231 | 232 | 233 | -------------------------------------------------------------------------------- /slides/css/theme/serif.css: -------------------------------------------------------------------------------- 1 | /** 2 | * A simple theme for reveal.js presentations, similar 3 | * to the default theme. The accent color is brown. 4 | * 5 | * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. 6 | */ 7 | .reveal a:not(.image) { 8 | line-height: 1.3em; } 9 | 10 | /********************************************* 11 | * GLOBAL STYLES 12 | *********************************************/ 13 | body { 14 | background: #f0f1eb; 15 | background-color: #f0f1eb; } 16 | 17 | .reveal { 18 | font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; 19 | font-size: 36px; 20 | font-weight: normal; 21 | letter-spacing: -0.02em; 22 | color: black; } 23 | 24 | ::selection { 25 | color: white; 26 | background: #26351c; 27 | text-shadow: none; } 28 | 29 | /********************************************* 30 | * HEADERS 31 | *********************************************/ 32 | .reveal h1, 33 | .reveal h2, 34 | .reveal h3, 35 | .reveal h4, 36 | .reveal h5, 37 | .reveal h6 { 38 | margin: 0 0 20px 0; 39 | color: #383d3d; 40 | font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; 41 | line-height: 0.9em; 42 | letter-spacing: 0.02em; 43 | text-transform: none; 44 | text-shadow: none; } 45 | 46 | .reveal h1 { 47 | text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); } 48 | 49 | /********************************************* 50 | * LINKS 51 | *********************************************/ 52 | .reveal a:not(.image) { 53 | color: #51483d; 54 | text-decoration: none; 55 | -webkit-transition: color .15s ease; 56 | -moz-transition: color .15s ease; 57 | -ms-transition: color .15s ease; 58 | -o-transition: color .15s ease; 59 | transition: color .15s ease; } 60 | 61 | .reveal a:not(.image):hover { 62 | color: #8b7c69; 63 | text-shadow: none; 64 | border: none; } 65 | 66 | .reveal .roll span:after { 67 | color: #fff; 68 | background: #25211c; } 69 | 70 | /********************************************* 71 | * IMAGES 72 | *********************************************/ 73 | .reveal section img { 74 | margin: 15px 0px; 75 | background: rgba(255, 255, 255, 0.12); 76 | border: 4px solid black; 77 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); 78 | -webkit-transition: all .2s linear; 79 | -moz-transition: all .2s linear; 80 | -ms-transition: all .2s linear; 81 | -o-transition: all .2s linear; 82 | transition: all .2s linear; } 83 | 84 | .reveal a:hover img { 85 | background: rgba(255, 255, 255, 0.2); 86 | border-color: #51483d; 87 | box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } 88 | 89 | /********************************************* 90 | * NAVIGATION CONTROLS 91 | *********************************************/ 92 | .reveal .controls div.navigate-left, 93 | .reveal .controls div.navigate-left.enabled { 94 | border-right-color: #51483d; } 95 | 96 | .reveal .controls div.navigate-right, 97 | .reveal .controls div.navigate-right.enabled { 98 | border-left-color: #51483d; } 99 | 100 | .reveal .controls div.navigate-up, 101 | .reveal .controls div.navigate-up.enabled { 102 | border-bottom-color: #51483d; } 103 | 104 | .reveal .controls div.navigate-down, 105 | .reveal .controls div.navigate-down.enabled { 106 | border-top-color: #51483d; } 107 | 108 | .reveal .controls div.navigate-left.enabled:hover { 109 | border-right-color: #8b7c69; } 110 | 111 | .reveal .controls div.navigate-right.enabled:hover { 112 | border-left-color: #8b7c69; } 113 | 114 | .reveal .controls div.navigate-up.enabled:hover { 115 | border-bottom-color: #8b7c69; } 116 | 117 | .reveal .controls div.navigate-down.enabled:hover { 118 | border-top-color: #8b7c69; } 119 | 120 | /********************************************* 121 | * PROGRESS BAR 122 | *********************************************/ 123 | .reveal .progress { 124 | background: rgba(0, 0, 0, 0.2); } 125 | 126 | .reveal .progress span { 127 | background: #51483d; 128 | -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); 129 | -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); 130 | -ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); 131 | -o-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); 132 | transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } 133 | 134 | /********************************************* 135 | * SLIDE NUMBER 136 | *********************************************/ 137 | .reveal .slide-number { 138 | color: #51483d; } 139 | -------------------------------------------------------------------------------- /slides/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/button.png -------------------------------------------------------------------------------- /slides/images/change.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/change.jpg -------------------------------------------------------------------------------- /slides/images/css.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/css.jpg -------------------------------------------------------------------------------- /slides/images/css1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/css1.jpg -------------------------------------------------------------------------------- /slides/images/desire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/desire.jpg -------------------------------------------------------------------------------- /slides/images/developer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/developer.jpg -------------------------------------------------------------------------------- /slides/images/egg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/egg.jpg -------------------------------------------------------------------------------- /slides/images/exam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/exam.jpg -------------------------------------------------------------------------------- /slides/images/foundJob.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/foundJob.jpg -------------------------------------------------------------------------------- /slides/images/head.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/head.jpg -------------------------------------------------------------------------------- /slides/images/honest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/honest.jpg -------------------------------------------------------------------------------- /slides/images/html.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/html.jpg -------------------------------------------------------------------------------- /slides/images/html1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/html1.jpg -------------------------------------------------------------------------------- /slides/images/javascript.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/javascript.jpg -------------------------------------------------------------------------------- /slides/images/language.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/language.jpg -------------------------------------------------------------------------------- /slides/images/layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/layout.png -------------------------------------------------------------------------------- /slides/images/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/menu.png -------------------------------------------------------------------------------- /slides/images/mockUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/mockUp.png -------------------------------------------------------------------------------- /slides/images/nerdWin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/nerdWin.jpg -------------------------------------------------------------------------------- /slides/images/references.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/references.jpg -------------------------------------------------------------------------------- /slides/images/resume.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/resume.jpg -------------------------------------------------------------------------------- /slides/images/risk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/risk.jpg -------------------------------------------------------------------------------- /slides/images/risk1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/risk1.jpg -------------------------------------------------------------------------------- /slides/images/shave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/shave.jpg -------------------------------------------------------------------------------- /slides/images/skill.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/skill.jpg -------------------------------------------------------------------------------- /slides/images/skill1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/skill1.jpg -------------------------------------------------------------------------------- /slides/images/sleeping.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/sleeping.jpg -------------------------------------------------------------------------------- /slides/images/tearOff.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/tearOff.jpg -------------------------------------------------------------------------------- /slides/images/try.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/try.jpg -------------------------------------------------------------------------------- /slides/images/webDesigner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/webDesigner.jpg -------------------------------------------------------------------------------- /slides/images/webDeveloper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/webDeveloper.jpg -------------------------------------------------------------------------------- /slides/images/work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/work.png -------------------------------------------------------------------------------- /slides/images/yah.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/images/yah.jpg -------------------------------------------------------------------------------- /slides/lib/css/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | pre code { 9 | display: block; padding: 0.5em; 10 | background: #3F3F3F; 11 | color: #DCDCDC; 12 | } 13 | 14 | pre .keyword, 15 | pre .tag, 16 | pre .css .class, 17 | pre .css .id, 18 | pre .lisp .title, 19 | pre .nginx .title, 20 | pre .request, 21 | pre .status, 22 | pre .clojure .attribute { 23 | color: #E3CEAB; 24 | } 25 | 26 | pre .django .template_tag, 27 | pre .django .variable, 28 | pre .django .filter .argument { 29 | color: #DCDCDC; 30 | } 31 | 32 | pre .number, 33 | pre .date { 34 | color: #8CD0D3; 35 | } 36 | 37 | pre .dos .envvar, 38 | pre .dos .stream, 39 | pre .variable, 40 | pre .apache .sqbracket { 41 | color: #EFDCBC; 42 | } 43 | 44 | pre .dos .flow, 45 | pre .diff .change, 46 | pre .python .exception, 47 | pre .python .built_in, 48 | pre .literal, 49 | pre .tex .special { 50 | color: #EFEFAF; 51 | } 52 | 53 | pre .diff .chunk, 54 | pre .subst { 55 | color: #8F8F8F; 56 | } 57 | 58 | pre .dos .keyword, 59 | pre .python .decorator, 60 | pre .title, 61 | pre .haskell .type, 62 | pre .diff .header, 63 | pre .ruby .class .parent, 64 | pre .apache .tag, 65 | pre .nginx .built_in, 66 | pre .tex .command, 67 | pre .prompt { 68 | color: #efef8f; 69 | } 70 | 71 | pre .dos .winutils, 72 | pre .ruby .symbol, 73 | pre .ruby .symbol .string, 74 | pre .ruby .string { 75 | color: #DCA3A3; 76 | } 77 | 78 | pre .diff .deletion, 79 | pre .string, 80 | pre .tag .value, 81 | pre .preprocessor, 82 | pre .built_in, 83 | pre .sql .aggregate, 84 | pre .javadoc, 85 | pre .smalltalk .class, 86 | pre .smalltalk .localvars, 87 | pre .smalltalk .array, 88 | pre .css .rules .value, 89 | pre .attr_selector, 90 | pre .pseudo, 91 | pre .apache .cbracket, 92 | pre .tex .formula { 93 | color: #CC9393; 94 | } 95 | 96 | pre .shebang, 97 | pre .diff .addition, 98 | pre .comment, 99 | pre .java .annotation, 100 | pre .template_comment, 101 | pre .pi, 102 | pre .doctype { 103 | color: #7F9F7F; 104 | } 105 | 106 | pre .coffeescript .javascript, 107 | pre .javascript .xml, 108 | pre .tex .formula, 109 | pre .xml .javascript, 110 | pre .xml .vbscript, 111 | pre .xml .css, 112 | pre .xml .cdata { 113 | opacity: 0.5; 114 | } -------------------------------------------------------------------------------- /slides/lib/font/league_gothic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/lib/font/league_gothic-webfont.eot -------------------------------------------------------------------------------- /slides/lib/font/league_gothic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/lib/font/league_gothic-webfont.ttf -------------------------------------------------------------------------------- /slides/lib/font/league_gothic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khan4019/front-end-Interview-Questions/16407b3ac04644f700ce2f3b50c5fd2bd00d9fda/slides/lib/font/league_gothic-webfont.woff -------------------------------------------------------------------------------- /slides/lib/font/league_gothic_license: -------------------------------------------------------------------------------- 1 | SIL Open Font License (OFL) 2 | http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 3 | -------------------------------------------------------------------------------- /slides/lib/js/classList.js: -------------------------------------------------------------------------------- 1 | /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/ 2 | if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(j){var a="classList",f="prototype",m=(j.HTMLElement||j.Element)[f],b=Object,k=String[f].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[f].indexOf||function(q){var p=0,o=this.length;for(;p 3 | Copyright Tero Piirainen (tipiirai) 4 | License MIT / http://bit.ly/mit-license 5 | Version 0.96 6 | 7 | http://headjs.com 8 | */(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c