DATA 236 Midterm Study Guide PDF
Document Details
Tags
Summary
This document is a study guide for a midterm exam in a computer science course, covering topics such as client-server architecture, web services, and internet protocols. It includes questions and explanations related to these concepts.
Full Transcript
DATA 236 Midterm Study Guide Monday, 10/14/2024 @ 12pm HTML/CSS REST Django Session, Cookies, Authorization, Authentication Javascript React Javascript Midterm Format A) Multiple choice - 60 points B) Short answer/long answers - 33 pts Lecture 0 Intro...
DATA 236 Midterm Study Guide Monday, 10/14/2024 @ 12pm HTML/CSS REST Django Session, Cookies, Authorization, Authentication Javascript React Javascript Midterm Format A) Multiple choice - 60 points B) Short answer/long answers - 33 pts Lecture 0 Introduction Client Server Architecture 1. What is the client server architecture? a. A three-way interaction in a client server environment 2. What are the 3 tiers that make up the client server architecture? a. Client/Presentation b. Application c. Data 3. Which tier is the user interface stored in? a. Client/Presentation Tier 4. Which tier is the business application logic stored in? a. Application Tier 5. Which tier is the data stored in? a. Data 6. Describe the client server architecture. a. The client server architecture consists of 3 tiers b. Client/Presentation, Application, and Data c. Client/Presentation is the user interface (UI) d. Application is the service layer that handles the data processing e. Data layer stores and manages the application data 7. What are the benefits of using a client server application? a. Reliability i. Each tier can operate independently, which reduces the risk of a single point of failure b. Modular i. The application is developed and maintained as independent modules, which allows for easier updates or replacements 8. What represents a single tier? a. Mainframe Era b. Small Applications, prototyping, or scenarios with limited scaling needs c. All function reside in a single layer d. Pros i. Easier to develop, lower cost, lower latency e. Cons i. Limited scalability, maintenance complexity 9. What represents the dual tier? a. Personal Computer Era b. Client server applications with moderate scalability needs, often for internal or small scale enterprise applications c. Separates the presentation layer (client) and data management layer (server) d. Pros i. Improved performance, better scalability e. Cons i. Limited flexibility 10.What represents the 3-tier? a. Thin client b. Large scale, high availability applications where scalability, fault tolerance, and flexibility are critical, such as web applications or enterprise systems c. Splits the system into presentation, application, and data layers d. Pros i. High scalability e. Cons i. Complexity, Higher cost, Latency Goals for the Internet 11.What are the 4 goals for the internet? a. To connect many different networks - ethernet, optical, Wifi b. To scaled to the entire world c. To tolerate and recover from failures d. To support wide variety of applications The Central Mechanism of the Internet 12.What is the central mechanism of the internet? a. TCP (Transmission Control Protocol): i. Ensures reliable data transmission by breaking data into packets, assigning order, and checking for errors. ii. Manages the connection between sender and receiver to confirm that all packets arrive intact and in the correct order. iii. Supports retransmission if any packet is lost or arrives out of order. b. IP (Internet Protocol): i. Routes each packet of data independently across the network, identifying its source and destination using IP addresses. ii. Determines the most efficient path for each packet based on current network conditions, enabling packets to travel across different routers and networks. c. End System (Host): Devices at the network's edge, like computers, smartphones, or servers, that generate and receive data. d. Packet: Data broken down into small chunks for transmission. Packets travel from one end system to another, often taking different paths. e. Switch: Network devices that route packets toward their destination. These are typically routers in the internet backbone, responsible for directing packets based on IP addresses. f. Link: The physical or wireless connections between switches and end systems, enabling data transfer across the network. g. Path: The route a packet takes from the source end system to the destination, passing through multiple switches and links. Tremendous Scale 13.How many internet users are there? a. 3.8 billion users (51% of world population) 14.How many unique URLS (web pages) are there? a. 1.24 trillion unique URLS 15.Every second, approximately how many tweets are tweeted? a. 6,000 tweets are tweeted 16.Every second, approximately how many google queries are searched? a. 40,000 google queries are searched 17.Every second, approximately how many emails are sent? a. 2 million emails are sent 18.Which phrases do we use to refer to such systems for tremendous scale? a. Internet Scale Web Services 19.What type of protocol does the web use? a. HTTP 20.What general framework is used for describing network services? a. SOAP/UDDI/WSDL 21.What is SOAP/UDDI/WSDL based on? a. Based on XML RESTful Services 22.What does REST stand for? a. Representational State Transfer 23.Who created REST? a. Roy Fielding, 2000 24.What did the founder of REST examine? a. Examination of the interact as a stateless services of near-limitless expansion model with a simple but effective information delivery system 25.What are the 4 key concepts of RESTful services? 1. Resources 2. Consistent access to all resources 3. Stateless protocol 4. Hypermedia 26.Described the 4 key concepts of RESTful services a. Resources i. sources of information - any information that can be accessed, manipulated, or shared ii. uniquely identified by a URL (uniform resource identifier) b. Consistent access to all resources i. As an interface and communication - not content or function ii. provides a consistent and uniform way of accessing resources using the same set of HTTP methods (GET, POST, PUT, DELETE) c. Stateless protocol i. Each request from a client to a server must contain all the information to understand and process the request ii. The server does not store any session information between requests iii. Improves scalability, as each request is independent of one another, allowing the server to handle more requests without tracking session states d. Hypermedia i. Links in the information to other data (connectedness) ii. Enables dynamic navigation between resources using links, allowing clients to discover available actions without prior knowledge of the API Cloud Computing/AWS 27.What is cloud computing/AWS? a. Delivers computing resources (servers, storages, databases, networking, software, and analytics) over the internet (cloud) on a pay as you go basis b. AWS has transformed how organizations manage infrastructure and applications, allowing them to innovate and operate efficiently without traditional data centers WebStack 28.What is MongoDB? a. Role: NoSQL Database b. Description: MongoDB is a document-oriented database that stores data in flexible, JSON-like documents. It is highly scalable and well-suited for applications needing high performance and a flexible schema. c. Use Cases: Storing user data, product details, content, or any other data that benefits from a NoSQL schema. 29.What is React? a. Role: Frontend Framework b. Description: React is a JavaScript library for building user interfaces, particularly single-page applications. It allows for the creation of dynamic, responsive, and reusable UI components. c. Use Cases: Frontend of a web application, especially when you want a responsive and interactive UI. React can consume APIs provided by Django or Flask backends. 30.What is Django? a. Role: Backend Framework b. Description: Django is a high-level Python web framework that enables the rapid development of secure and scalable web applications. It follows the MVC (Model-View-Controller) pattern and provides features like authentication, ORM, and routing. c. Use Cases: Building the backend API for web and mobile applications, handling complex business logic, managing user authentication, and interfacing with databases like MongoDB. 31.What is Distributed using Kafka message? a. Role: Messaging System for Distributed Applications b. Description: Apache Kafka is a distributed event streaming platform capable of handling real-time data feeds. It enables microservices and distributed systems to communicate asynchronously, which helps with scalability and reliability. c. Use Cases: Streaming data between services, building event-driven applications, real-time data pipelines, and distributed processing. 32.What is Docker? a. Role: Containerization Tool b. Description: Docker packages applications and their dependencies into containers, allowing them to run consistently across various environments. It’s essential for ensuring that applications are platform-agnostic and easy to deploy. c. Use Cases: Packaging and deploying the entire application stack (React frontend, Django backend, MongoDB, Kafka) as containers. This is particularly useful for microservices architecture and cloud deployments on AWS. 33.What is AWS? a. Role: Cloud Platform b. Description: AWS offers cloud infrastructure, storage, and various other services. It enables hosting and scaling applications, managing databases, deploying Docker containers, and using advanced cloud-based tools. c. Use Cases: Hosting the entire application stack, including containerized services, managing databases, implementing serverless components, and using AWS Lambda for specific serverless functions. 34.What is Flask? a. Role: Lightweight Web Framework (Backend) b. Description: Flask is a minimalistic Python framework that’s highly flexible. It’s often used for microservices or simple APIs, making it a good choice when Django might feel too heavy. c. Use Cases: Building microservices, creating RESTful APIs, or lightweight services that interact with other parts of the application. 35.What is Streamlit? a. Role: Data Application Framework b. Description: Streamlit is a Python library that lets you build interactive data applications quickly. It’s particularly useful for data science and machine learning applications, as it allows you to create web-based interfaces for ML models and data visualizations. c. Use Cases: Developing data-driven applications, creating dashboards or ML model interfaces, and serving analytics applications to end-users. d. WEB Application Architecture 36.What do users do in Web Application Architecture? a. Collect Data b. Display Results 37.What is Frontend in Web Application Architecture? a. What the users see and interacts with HTML, CSS, Javascript 38.What is the Webserver in Web Application Architecture? a. Contains the app logic b. PHP, Javascript, Python, Java 39.What is the back end in Web Application Architecture? a. File System - HTML, CSS, images b. Database - mySQL, postgresSQL, mariaDB Frontend Technologies 40.What is HTML used for? a. To create the document structure and content 41.What is CSS used for? a. To control the visual aspect 42.What is Javascript used for? a. For interactivity Inside a Browser 43.What are the 2 interesting parts of a browser? a. Rendering engine b. Javascript interpreter 44.What does the rendering engine do? a. in charge of transforming our HTML/CSS in a visual image 45.What does the javascript interpreter do? a. also known as the VM, virtual machine b. in charge of executing the javascript code HTML 46.What does HTML stand for? a. Hyper Text Markup Language 47.What does HTML allow us to define? a. Allows us to define the structure of a document or a website 48.What is the purpose of HTML? a. Give structure to the content of the website, not to definite an algorithm 49.What subset does HTML come from? a. XML - extensible markup language HTML: basic rules 50.What syntax does HTML use? a. It uses XML syntax - tags with attributes, can contain other tags b. content 51.How is HTML information stored? a. as a tree-like structure b. nodes that contain nodes inside c. called a DOM - document object model DOM is a tree 52.What is a DOM? a. Document Object Model b. Every node can only have one parent, and every node can have several children HTML: main tags 53.What does the tag do? a. a container, usually represents a rectangular area with information inside 54.What does the tag do? a. an image 55.What does the tag do? a. a clickable link to go to another URL 56.What does the tag do a. a text paragraph 57.What does the tag do? a. a title 58.What does the tag do? a. a widget to let the user introduce information 59.What does the tag do? a. to insert CSS rules 60.What does the tag do? a. to insert CSS rules 61.What does the tag do? a. to execute Javascript code 62.What does the tag do? a. a null tag (doesn’t do anything) good for tagging info 63.What does the tag do? a. to create a button 64.What does the tag do? a. for playing audio 65.What does the tag do? a. to play a video 66.What does the tag do? a. to draw graphics from javascript 67.What does the tag do? a. to put another website inside ours HTML: wrapping the info 68.What is the purpose of wrapping the info? a. We use HTML tags to wrap different information on our side b. The more structure has the information, the easier it will be to access it and present it CSS 69.What does CSS allows us to do? a. CSS allows us to specify how to present (render) the document info stored in the HTML 70.What can we control using CSS? a. We can control i. Colors - content, background, borders ii. Margins - interior margins, exterior margins iii. Position - where to put it iv. Sizes - width, height v. Behavior - changes on mouse over 71.What does this CSS line of code do? *{ color: blue; margin: 10px; font: 14px Tahoma; } a. This will change all the tags in my web (* means all) to look blue with font tahoma with 14 px and leaving a margin of 10px around 72. Most common CSS fields color: #FF0000; red; rgba(255,00,100,1.0); //different ways to specify colors background-color: red; background-image: url('file.png'); font: 18px 'Tahoma'; border: 2px solid black; border-top: 2px solid red; border-radius: 2px; //to remove corners and make them more round margin: 10px; //distance from the border to the outer elements padding: 2px; //distance from the border to the inner elements width: 100%; 300px; 1.3em; //many different ways to specify distances height: 200px; text-align: center; box-shadow: 3px 3px 5px black; cursor: pointer; display: inline-block; overflow: hidden; 73.What are the 4 ways to add CSS rules to your website? a. Inserting the code inside a style tag i. p { color: blue } b. Referencing an external CSS file i. c. Using the attribute style on a tag i. d. Using javascript 74.Write a line of code to change the background color to red of our DIV tag. div { background-color: red; } 75.Write a line of code to change the color to red of our body tag. body { background-color: red; }