diff --git a/algorithms/README.md b/algorithms/README.md index 3172ba21..08f5ede2 100644 --- a/algorithms/README.md +++ b/algorithms/README.md @@ -308,11 +308,11 @@ transposed_matrix = zip(*matrix) - When you need to compare strings where the order isn't important (like anagram), you may consider using a hash map as a counter. If your language has a built-in `Counter` class like Python, ask to use that instead. - If you need to keep a counter of characters, a common mistake to make is to say that the space complexity required for the counter is O(n). The space required for a counter is O(1) not O(n), because the upper bound is the range of characters which is usually a fixed constant of 26 when the input set is just lower case Latin characters. - Common data structures for looking up strings efficiently: - - [Trie / Prefix Tree](https://www.wikiwand.com/en/Trie) - - [Suffix Tree](https://www.wikiwand.com/en/Suffix_tree) + - [Trie / Prefix Tree](https://en.wikipedia.org/wiki/Trie) + - [Suffix Tree](https://en.wikipedia.org/wiki/Suffix_tree) - Common string algorithms: - - [Rabin Karp](https://www.wikiwand.com/en/Rabin%E2%80%93Karp_algorithm) for efficient searching of substring using a rolling hash. - - [KMP](https://www.wikiwand.com/en/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm) for efficient searching of substring. + - [Rabin Karp](https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm) for efficient searching of substring using a rolling hash. + - [KMP](https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm) for efficient searching of substring. #### Non-repeating Characters diff --git a/algorithms/graph.md b/algorithms/graph.md index 7b407f5f..119000ba 100644 --- a/algorithms/graph.md +++ b/algorithms/graph.md @@ -5,6 +5,6 @@ Graph - Alien Dictionary Topological Sort question. - Find if a given string matches any path in a labeled graph. A path may contain cycles. - Given a bipartite graph, separate the vertices into two sets. -- You are a thief trying to sneak across a rectangular field. There are alarms placed on the fields and they each have a circular sensing radius which will trigger if anyone steps into it. Each alarm may not have the same radius. Determine if you can get from one end of the field to the other end. +- You are a thief trying to sneak across a rectangular 100 x 100m field. There are alarms placed on the fields and they each have a circular sensing radius which will trigger if anyone steps into it. Each alarm has its own radius. Determine if you can get from one end of the field to the other end. - Given a graph and two nodes, determine if there exists a path between them. - Determine if a cycle exists in the graph. diff --git a/front-end/browser.md b/front-end/browser.md index eeeed244..8ace1b82 100644 --- a/front-end/browser.md +++ b/front-end/browser.md @@ -34,7 +34,7 @@ High level flow of how browsers render a webpage: ###### References -- https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/webkitflow.png +- http://taligarsiel.com/Projects/howbrowserswork1.htm - https://medium.freecodecamp.org/its-not-dark-magic-pulling-back-the-curtains-from-your-stylesheets-c8d677fa21b2 ## Repaint @@ -53,7 +53,7 @@ When the changes affect document contents or structure, or element position, a r #### References -- [How Browsers Work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/) +- [How Browsers Work](http://taligarsiel.com/Projects/howbrowserswork1.htm) - [What Every Frontend Developer Should Know About Webpage Rendering](http://frontendbabel.info/articles/webpage-rendering-101/) - [Rendering: repaint, reflow/relayout, restyle](http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/) - [Building the DOM faster: speculative parsing, async, defer and preload](https://hacks.mozilla.org/2017/09/building-the-dom-faster-speculative-parsing-async-defer-and-preload/) diff --git a/front-end/interview-questions.md b/front-end/interview-questions.md index 60c5df51..cb874464 100644 --- a/front-end/interview-questions.md +++ b/front-end/interview-questions.md @@ -581,7 +581,6 @@ When using `translate()`, the element still takes up its original space (sort of ### Other Answers - https://neal.codes/blog/front-end-interview-css-questions -- http://jgthms.com/css-interview-questions-and-answers.html - https://quizlet.com/28293152/front-end-interview-questions-css-flash-cards/ - http://peterdoes.it/2015/12/03/a-personal-exercise-front-end-job-interview-questions-and-my-answers-all/ diff --git a/front-end/performance.md b/front-end/performance.md index 0014bded..76dfad26 100644 --- a/front-end/performance.md +++ b/front-end/performance.md @@ -58,7 +58,7 @@ Performance ## Web Performance Rules -- https://www.html5rocks.com/en/tutorials/webperformance/basics/ +- https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp - http://stevesouders.com/hpws/rules.php - https://developer.yahoo.com/performance/rules.html - https://browserdiet.com/en/ diff --git a/front-end/security.md b/front-end/security.md index 7d80b2ba..59ac38b2 100644 --- a/front-end/security.md +++ b/front-end/security.md @@ -52,7 +52,7 @@ XSS vulnerabilities allow attackers to bypass essentially all CSRF preventions. ###### References -https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) +- [OWASP CSRF](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)) ## HTTPS