Skip to content

Latest commit

 

History

History
154 lines (81 loc) · 4.44 KB

twitch_internship_notes.md

File metadata and controls

154 lines (81 loc) · 4.44 KB

React

Q & A

What is a single page application (SPA)?:

A SPA is a web application that doesn't need to reload and change between pages, instead relying on re-rendering the contents of the page to fulfill multi-page functionality that we're used to on the web.

What benefits does using React provide over using HTML, CSS, and vanilla JavaScript?

React's biggest improvements over the base web development technologies include:

  • Better performance, especially when it comes to DOM interaction.
  • Reduced code duplication and greater ease of maintenance.
  • Tools and techniques that make it easier to work with dynamic content and input.

What are some differences between React, Angular, and Vue?::

  • All three are SPA frameworks that can more or less do the same things with the following major differences:
  1. Angular is a full-fledged framework that has TypeScript and RxJS built in. It excels in enterprise cases where its "convention over configuration" philosophy helps large teams coordinate more easily.

  2. React is the most popular of the JS SPA frameworks. It's not as opinionated as the others, and shines when it comes to improving performance in cases where there are lots of DOM interactions.

  3. Vue has a syntax similar to AngularJS, and has the advantage of it's easier to drop smaller Vue components into a standard HTML/JS front-end codebase.

Can you use React and jQuery in the same project?:

You CAN do this (see https://reactjs.org/docs/integrating-with-other-libraries.html), but it's far from ideal. React was designed to be an improvement over libraries like jQuery that made lots of expensive DOM interactions, so it doesn't make much sense to combine them.

What is the virtual DOM?:

The virtual DOM is a copy of the "real" DOM that React (or similar libraries) keeps in memory and syncs with the real DOM at certain points. This merging is known as reconciliation.

TS

Q & A

What is the difference between static typing and dynamic typing? What are the benefits of using TypeScript?

  • Static analysis catches mistakes faster.
  • IDE/text-editor support means tools like VSCode can provide you with the analysis benefits of using TS without even needing to install it!

What are the downsides to using TypeScript? How do JavaScript and TypeScript differ?

GraphQL

Q & A

What is the difference between a REST API and a GraphQL API?: What benefits do GraphQL provide?: What are the downsides of using GraphQL?: What is Apollo Client?:

Go

Q & A

What are the main features of the Go programming language:

What improvements does Go have over C++:

How do you work with concurrency in Go:

What is a struct:

How do you run a Go module?:

AWS

What is cloud computing:

What problems do cloud providers like Amazon Web Services, Google Cloud Platform and Microsoft Azure solve:

What is AWS EC2:

What is AWS S3:

What is AWS DynamoDB?:

Communication

In all instances:

  • demonstrate humility,
  • respect the other person's time
  • respect the other person's communication style.
  • be professional

In all written instances:

  • check carefully for spelling, structure, missing attachments, etc
  • Be sure to introduce yourself if you don't know the person

Respectful

  • Engage in active listening

  • Take dissenting opinions seriously

  • Be mindful of your non-verbal cues

  • Make sure you're engaging proportionally: not too much, not too little.

  • Don't speculate: That is, don't pass along information unless you're certain it's true.

  • Know your audience, and make sure your tailoring your communication style with them for maximum effectiveness.

  • When others belong to a different culture, take that into consideration, but ask yourself: Am I interacting with this person solely through that lens?

Email

  • Use a good subject line

IM

  • Don't deliver bad news over IM

Phone

  • Respect your audience and co-workers: don't make calls from busy or crowded areas.

Code Review

Refer to: https://github.com/thoughtbot/guides/tree/main/code-review

  • "we" instead of "you"

When reviewing:

  • Phrase suggestions as questions rather than mandates.
  • Make sure the context is clear, and there is no ambiguity
  • Limit the review to changed code
  • Lump similar suggestions

When being reviewed:

  • Talk about difficulties, uncertainties, trade-offs you're questioning.