-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Emily Yu edited this page Apr 3, 2018
·
3 revisions
(Or at least lightly familiarize yourself with...)
- pros and cons of JavaScript
- vs. other languages
- event loop
- scope and closures
- loops
- hoisting
- instantiation patterns
- truthy and falsy
- type coercion
- objects
- this
- bind / currying
- Best practices
- ES6
- HTTP requests and responses
- HTTP headers
- HTTP response codes
- HTTP basic auth
- What is a cookie?
- AJAX / JSONP
- ReST (and how it compares to SOAP, Graph, etc.)
- Asynchronous ReST
- What is the DOM?
- How would you design the DOM, if you had to make it from scratch?
- Outline how browsers keep your data secure
- What is a virtual DOM?
- What happens when you load a page?
- Event handling and bubbling
- semantic markup
- Responsive & Adaptive design
- block vs inline
- Client-side vs. server-side rendering
- templating
- how is HTML rendered by the browser?
- what is "reflow"?
- accessibility
- what does "cascading" mean?
- how do you organize your stylesheets, and why?
- selectors
- computing specificity
- pseudo-classes
- box model
- how does CSS help to make a responsive web app?
- CSS libraries
- Node
- what is a server?
- what is Node?
- Streams
- How does Node compare to other server-side technologies
- why Node is useful, why it might suck
- Useful packages
- Node-inspector
- Nodemon
- Express
- jQuery
- D3
- React
- Angular
- Backbone
- Ember
- git
- git basics
- git gotchas
- why do people refer to "the SHA-1"?
- merge vs rebase debate. where do you stand?
- GitHub
- problem decomposition
- Case-based reasoning
- Back-of-the-envelope
- "examplify"
- pattern-matching
- simplify then generalize
- Base case, then inductive reasoning
- How to apply scientific method to programming?
- Client-server
- Workers
- Service-oriented architecture
- Multi-tier architecture
-
MVC
- MV* (pronounced "MV-star")
- asynchronous programming
- Pub/sub
- Middleware
- ReST
- what should you consider when you design an API?
- DRY (related to "single source of truth")
- single-responsibility principle
- idempotency
-
loose coupling / separation of concerns
- cohesion versus coupling
-
statelessness
- "shared-nothing" architecture
- abstraction
- contracts (interfaces) between components
- TCP/IP
- TCP vs. UDP
- ports
- socket
- WebRTC
- DNS
- HTTP
- HTTPS
- hostnames
- domains and subdomains
- how email works
- proxy
- reverse proxy
- load balancer
- MIME types
- URI
- CDN
- DDOS
- standards/RFC's
- what really happens when you upload a file?
- Try / Catch
- Debugging with Chrome Dev Tools
- Black-box vs white-box
- Regression testing
- Unit testing vs integration testing
- Smoke-testing vs end-to-end testing
- Testing libraries
- selenium
-
mocha, chai, etc
- can you use these on the fly? no harness or setup provided...
- Continuous integration
- Mocking & Stubbing
- How testing improves system design
- Hashing vs encryption
- Authentication vs authorization
- Common encryption ciphers
- Public-Private Key Encryption
- oAuth
- Same-origin policy
- XSS
- CORS