diff --git a/README-es.md b/README-es.md new file mode 100644 index 00000000..697f5030 --- /dev/null +++ b/README-es.md @@ -0,0 +1,76 @@ +

Manual de entrevista tecnico

+ +
+ + Tech Interview Handbook + +
+

+ Credits: Illustration by @yangheng + +

+
+ +## Que es esto? + +Contenido cuidadosamente seleccionado para ayudarte a realizar tu próxima entrevista, con un enfoque en los algoritmos y el dominio del front-end. Preguntas de diseño de sistema están en progreso. Además de las preguntas de algoritmo habituales, otras cosas ** increíbles ** incluyen: + +- [How to prepare](preparing) for coding interviews +- [Interview Cheatsheet](preparing/cheatsheet.md) - Straight-to-the-point Do's and Don'ts 🆕 +- [Algorithm tips and the best practice questions](algorithms) categorized by topic +- ["Front-end Job Interview Questions" answers](front-end/interview-questions.md) +- [Interview formats](non-technical/interview-formats.md) of the top tech companies +- [Behavioral questions](non-technical/behavioral.md) categorized by companies +- [Good questions to ask your interviewers](non-technical/questions-to-ask.md) at the end of the interviews +- [Helpful resume tips](non-technical/resume.md) to get your resume noticed and the Do's and Don'ts + +¡Este manual es bastante nuevo y te agradecería mucho que me contribuyas aportado contenido! + +This handbook is pretty new and help from you in contributing content would be very much appreciated! + +## Para que quiero esto? + +Este repositorio tiene un contenido * práctico * que cubre todas las fases de una entrevista técnica; desde solicitar un trabajo hasta pasar las entrevistas para recibit una oferta de negociación. Los candidatos técnicamente competentes también podrían encontrar útil el contenido no técnico. + +## A quien va dirigido? + +Cualquiera que quiera conseguir un trabajo en una compañía de tecnología, pero es nuevo en las entrevistas técnicas, ingenieros experimentados que no han estado del otro lado de la mesa de entrevistas desde hace tiempo y quieren volver al juego, o cualquiera que quiera ser mejor en entrevistas técnicas. + +## Cómo? este repositorio diferente a los demas? + +Hay tantos libros increíbles como [Cracking the Coding Interview](http://www.crackingthecodinginterview.com/) y repositorios relacionados con entrevistas en GitHub, ¿qué hace que este repositorio sea diferente? La diferencia es que muchos repositorios de entrevistas existentes contienen principalmente enlaces a recursos externos, mientras que este repositorio contiene contenido curado de alta calidad directamente para su consumo. + + +Además, los recursos existentes se centran principalmente en preguntas sobre algoritmos y falta de cobertura para preguntas más específicas de dominio y no técnicas. Este manual pretende cubrir el contenido más allá de las típicas preguntas de codificación algorítmica. 😎 + +## Contenido + +- **[Preparing for a Coding Interview](preparing)** +- [Interview cheatsheet](preparing/cheatsheet.md) - Qué hacer y qué no hacer al momento +- **[Algorithm Questions](algorithms)** - Preguntas categorizadas by topics +- **[Design Questions](design)** +- **[Front-end Study Notes](front-end)** - Notas resumidas sobre los diversos aspectos del front-end +- [Front-end Job Interview Questions and Answers](front-end/interview-questions.md) 🔥⭐ +- **[Non-Technical Tips](non-technical)** - Consejos aleatorios no técnicos que cubren aspectos conductuales y psicológicos, formatos de entrevistas y "¿Tiene alguna pregunta para mí?" +- [Resume Tips](non-technical/resume.md) +- [Behavioral Questions](non-technical/behavioral.md) +- [Interview Formats](non-technical/interview-formats.md) +- [Psychological Tricks](non-technical/psychological-tricks.md) +- [Questions to Ask](non-technical/questions-to-ask.md) +- [Negotiation Tips](non-technical/negotiation.md) +- **[Utilities](utilities)** - Fragmentos de algoritmos / código que ayudarán a codificar preguntas +- **UPDATE** - Check out [Lago](https://github.com/yangshun/lago), Que es Data Structures and Algorithms library que contiene más implementaciones de alta calidad con una cobertura de prueba del 100%. + +## Relacionado + +Si está interesado en cómo se implementan las estructuras de datos, consulte [Lago](https://github.com/yangshun/lago), a Data Structures and Algorithms library para JavaScript. Es prácticamente WIP, pero pretendo convertirlo en una biblioteca que pueda utilizarse en producción y también un recurso de referencia para revisar estructuras de datos y algoritmos. + + +## Contribuciones + +No hay pautas formales de contribución en este momento, ya que las cosas todavía están en flujo y podríamos encontrar un mejor enfoque para estructurar el contenido a medida que avanzamos. Le invitamos a contribuir con lo que crea que será útil para sus colegas ingenieros. Si desea contribuir con contenido para diferentes dominios, puede crear un issue o enviar una pull request y podemos analizarlo más a fondo. + +## Maintainers + +- [Yangshun Tay](https://github.com/yangshun) +- [Louie Tan](https://github.com/louietyj) diff --git a/algorithms/bit-manipulation.md b/algorithms/bit-manipulation.md new file mode 100644 index 00000000..5ad2f2c4 --- /dev/null +++ b/algorithms/bit-manipulation.md @@ -0,0 +1,7 @@ +Bit Manipulation +== + +- How do you verify if an interger is a power of 2? +- Wirte a program to print the binary representation of an integer. +- Write a program to print out the number of 1 bits in a given integer. +- Write a program to determine the largest possible integer using the same number of 1 bits in a given number. \ No newline at end of file diff --git a/algorithms/oop.md b/algorithms/oop.md index 54c32a4c..0df9cc2d 100644 --- a/algorithms/oop.md +++ b/algorithms/oop.md @@ -2,3 +2,7 @@ Object-Oriented Programming == - How would you design a chess game? What classes and objects would you use? What methods would they have? +- How would you design the data structures for a book keeping system for a library? +- Explain how you would design a HTTP server? Give examples of classes, methods, and interfaces. What are the challenges here? +- Discuss algorithms and data structures for a garbage collector? +- How would you implement an HR system to keep track of employee salaries and benefits? diff --git a/algorithms/queue.md b/algorithms/queue.md index 7710f991..31612de9 100644 --- a/algorithms/queue.md +++ b/algorithms/queue.md @@ -2,3 +2,4 @@ Queue == - Implement a Queue class from scratch with an existing bug, the bug is that it cannot take more than 5 elements. +- Implement a Queue using two stacks. You may only use the standard `push()`, `pop()`, and `peek()` operations traditionally available to stacks. You do not need to implement the stack yourself (i.e. an array can be used to simulate a stack). diff --git a/algorithms/stack.md b/algorithms/stack.md index 627ee2c6..063e3a64 100644 --- a/algorithms/stack.md +++ b/algorithms/stack.md @@ -6,3 +6,4 @@ Stack - Write an algorithm to determine if all of the delimiters in an expression are matched and closed. - E.g. `{ac[bb]}`, `[dklf(df(kl))d]{}` and `{[[[]]]}` are matched. But `{3234[fd` and `{df][d}` are not. - [Source](http://blog.gainlo.co/index.php/2016/09/30/uber-interview-question-delimiter-matching/) +- Sort a stack in ascending order using an additional stack. diff --git a/front-end/design.md b/front-end/design.md index 38b58ef2..cef9c972 100644 --- a/front-end/design.md +++ b/front-end/design.md @@ -12,7 +12,3 @@ Talk me through a full stack implementation of an autocomplete widget. A user ca - What does the backend API look like? - What perf considerations are there for complete-as-you-type behavior? Are there any edge cases (for example, if the user types fast and the network is slow)? - How would you design the network stack and backend in support of fast performance: how do your client/server communicate? How is your data stored on the backend? How do these approaches scale to lots of data and lots of clients? - -###### References - -- https://performancejs.com/post/hde6d32/The-Best-Frontend-JavaScript-Interview-Questions-%28written-by-a-Frontend-Engineer%29 diff --git a/front-end/interview-questions.md b/front-end/interview-questions.md index 9630684c..fd0ec995 100644 --- a/front-end/interview-questions.md +++ b/front-end/interview-questions.md @@ -99,6 +99,7 @@ These days, using `data-` attributes is not encouraged. One reason is that users ###### References - http://html5doctor.com/html5-custom-data-attributes/ +- https://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes ### Consider HTML5 as an open web platform. What are the building blocks of HTML5? @@ -713,7 +714,7 @@ A closure is the combination of a function and the lexical environment within wh They can be used in IIFEs to encapsulate some code within a local scope so that variables declared in it do not leak to the global scope. -``` +```js (function() { // Some code here. })(); @@ -721,7 +722,7 @@ They can be used in IIFEs to encapsulate some code within a local scope so that As a callback that is used once and does not need to be used anywhere else. The code will seem more self-contained and readable when handlers are defined right inside the code calling them, rather than having to search elsewhere to find the function body. -``` +```js setTimeout(function () { console.log('Hello world!'); }, 1000); @@ -729,7 +730,7 @@ setTimeout(function () { Arguments to functional programming constructs or Lodash (similar to callbacks). -``` +```js const arr = [1, 2, 3]; const double = arr.map(function (el) { return el * 2; @@ -891,7 +892,7 @@ The `XMLHttpRequest` API is frequently used for the asynchronous communication o JSONP (JSON with Padding) is a method commonly used to bypass the cross-domain policies in web browsers because Ajax requests from the current page to a cross-origin domain is not allowed. -JSONP works by making a request to a cross-origin domain via a `