Interview Flashcards
What is the difference between an abstract class and an interface and when would you use one over the other?
The main difference between them is that a class can implement more than one interface but can only inherit from one abstract class. Since C# doesn’t support multiple inheritance, interfaces are used to implement multiple inheritance.
Abstract Class
An abstract class cannot be instantiated. The purpose of an abstract class is to provide a common definition of a base class that multiple derived classes can share
Interface
An interface contains only the signatures of methods, properties, events or indexers. A class or struct that implements the interface must implement the members of the interface that are specified in the interface definition.
Describe the troubleshooting process you’d follow for a crashing program.
- Free up RAM by closing other programs.
- Restart the software.
- Shut down and restart the computer.
- Google, Stackoverflow, internet.
- Undo any recent hardware and software changes.
- Uninstall and reinstall the software.
- Look for software patches.
- Scan for viruses and maleware.
- Check for firewall conflict or IIS conflict.
- Boot up in safe mode.
- Defragment the hard drive.
How can you debug a program while it’s being used?
Using a debugger or the console window.
Some things that you can use the debugger to determine are:
The flow of the program (what happens next on a line by line basis)
The creation of variables
The data being stored in each variable
The entering/leaving of functions
The calculations that are made
The entering of IF statements or ELSE statements
The LOOPING of code.
Describe the programming processes at work from the time you type in a website’s URL to when it finishes loading on your screen.
When I enter a website’s URL, in the transport layer, it will ask a local DNS what is the IP of the provided URL. We know the IP of the local DNS server by the DHCP protocol, when a node connects to internet and gets an IP address.
After that, a browser will try to establish a TCP connection with a server having the retrieved IP by 3-way handshake. When it establish a TCP connection, the browser will form an HTTP request containing an HTTP header and body.
After the HTTP request is sent and the server responds with an HTTP response, the browser will parse the HTTP response header and body, and will render the website. If the document contains additional assets, the browser will create HTTP requests for the assets and send them like above.
Name some limitations of a web environment vs. a Windows environment
Access to the file system. Lag mainly - less responsive experience for most of web than on Windows
Cloud computing/cloud sysstem
cloud computing means storing and accessing data and programs over the Internet instead of your computer’s hard drive. The cloud is just a metaphor for the Internet
Cloud systems. What are their pros and cons?
Pros: 1. Cost Efficient 2. ALmost unlimited Storage 3. Back up and Recovery are easier 4. Easy Access to Information 5. Quick Deployment Cons: 1. Prone to Attack 2. Securing information in the cloud 3. Network and Internet connectivity can cause issues