- What are the differences and connections between Mongoose schemas and models? How do they work together in an Express.js application?
- How does Mongoose handle data validation? Discuss the benefits of using Mongoose for data validation as opposed to doing it manually in your Express.js routes.
- What are virtuals in Mongoose? Discuss how and why you might use them in a project. Give examples of scenarios where virtuals can be particularly useful.
- What is population in Mongoose? How does it differ from simply storing object IDs in your documents? Discuss scenarios where population is beneficial and when it might be better to avoid it.
- How does Mongoose handle asynchronous operations? Discuss the role of promises and async/await in managing database interactions in an Express.js application.
- What is the difference between SQL and NoSQL?
- What is referencing and what is embedding in MongoDB?
- Why should we embed more than referencing when we can in MongoDB?
- When should we prefer referencing over nesting in MongoDB?
- What are ORMs? Why we use them? Give an example of an SQL request with and without using ORM.
- What is the difference between a table and a collection?
- What is the difference between SQL and MySQL?
- What do you mean by DBMS? What are its different types?
- What are the types of joins in SQL? Give an example for each one.
- What is a Primary key?
- What are the different operators available in SQL?
- What is the need for group functions in SQL?
- What is a Relationship and what are they?
The objective of this discussion is to expose you to some of the popular frameworks that are built on top of JavaScript or React. The goal is not for you to know how to use these, but simply understand what their intended usage is in case you want to use it at some point in time.
For each of these, I want you to answer the following questions for the class:
- Why does this exist? Why did people spend hundreds of hours of their time to build this?
- For what types of projects would you use this for?
- Gatsby
- Storybook
- What is a React component, and how does it differ from a traditional JavaScript function or class?
- How would you describe the role of props in React? Why might they be crucial for component reusability?
- How do state and props differ in a React component? Can you think of scenarios where you'd use one over the other?
- If components are meant to be reusable, how can props help in achieving this goal? Can you think of real-world analogies or examples?
- In a typical React application, components are often nested within other components. How do props facilitate data flow in such hierarchies? What challenges might arise from this?
- React documentation emphasizes that props should be "immutable". What does this mean, and why might it be an important principle in React development?
- What problems does React aim to solve?
- How might React differ from other JavaScript frameworks or libraries you've heard of?
- How might building an application with components be advantageous?
- How does React's Virtual DOM differ from the actual DOM, and why might this be beneficial?
- How does JSX combine JavaScript and HTML-like markup?
- How does a traditional website differ from a Single Page Application?
- Why might developers choose to build an SPA using React?
- How might an application's data or user interface be affected by changes over time?
- How do you think React manages this dynamic data?
- What do you think "asynchronous" means in the context of programming? Why might it be important?
- Imagine you're on a website, and you click a button to view a list of your friends. The list takes some time to appear. Why might that be the case?
- How do you think a website's responsiveness impacts user experience? What could be the consequences if a site becomes unresponsive for a few seconds?
- Why might it be problematic if a browser had to "wait" for every operation to complete before doing anything else?
- If you were designing a website that needed to fetch information, like a news site, what challenges do you anticipate you'd face? How might you ensure the website remains responsive?
- Are there other ways you've heard of (or can research) for handling operations that might take some time? For instance, how might you deal with loading an image?
- What might happen if a website tries to fetch some data, but there's an issue (e.g., the data doesn't exist, or the server is d
- What are some use cases of cloud computing?
- Mention some of the advantages of cloud computing.
- What are the most popular cloud providers?
- What are cloud functions? mention at least 2 use cases.
- What are CI and CD? and how are they helpful
- What is serverless architecture?
- What is Kubernetes?
- What is the purpose of unit testing in JavaScript development? How does it contribute to the overall quality of a software application?
- Explain the difference between manual testing and automated testing. What are the advantages of using automated testing in JavaScript projects?
- What is a test suite, and how does it relate to test cases in JavaScript testing? Provide an example of a test suite and its corresponding test cases.
- Describe the concept of test-driven development (TDD) in JavaScript. How does TDD influence the development process and help in writing robust and reliable code?
- What are the popular testing frameworks and libraries available for JavaScript? Compare and contrast two of them, highlighting their key features and use cases.