Describe the difference between a function declaration and a function expression.
Explain the concept of separation of concerns as pertains to web development, and the roles of HTML, CSS, and JavaScript.
Define the term semantic HTML, give a few examples of semantic tags in HTML, and why we use them whenever possible.
Describe OOP (Object Oriented Programming) including how prototype chains work.
How could you create new instances of an object?
What does the keyword ‘this’ belong to in OOP?
Talk about Built-In Objects including a. Browser Object Model, b. Document Object Model c. Global JavaScript Objects
When a user interacts with the HTML on a web page, there are three steps involved in getting it to trigger the JavaScript code. Together these steps are event handling. Describe these three steps.
What does JavaScript’s JSON object do to JSON data and what does it convert a JavaScript object into?
Code 301
Explain why we use templating in web development.
Describe the difference between imperative and declarative programming styles.
Code 401
What is “state”?
Imagine I have no knowledge of web application development. Describe an example of client/server architecture for me.
In as much detail as you can manage, describe what happens when I type a link into my address bar and hit “enter”
A potential client comes to you with an idea for a web application, but no knowledge of how to implement it. Walk them through what you, as a developer, would recommend that they do to implement their idea into production. Include estimates of time and point out where they may expect to incur costs. Make sure you justify every decision; remember that your client has no technical knowledge, only an idea. You want to give them confidence that their idea can be implemented and work without imploding.
Python
Why does a Python dictionary have O(1) lookup time?
What is a “generator” and when might it be useful? If you can, build one for me that demonstrates its usefulness.
JavaScript
Explain Node’s event loop
What is a JavaScript Promise?
What is the difference between a Binary Tree and a Binary Search Tree?
What is a Binary Heap?
What’s the difference between ES5 and ES6?
Explain the difference between a library and a framework.
What is “state”?
Explain the difference between application state and view state?
What’s the difference between a JavaScript ES6 class and a ES5 constructor function?
ASP.NET
List and describe the OOP Principles. How are they different from each other?
Describe Dependency Injection. If possible describe the request pipeline? What design pattern does it represent? Why is it useful?
What is the difference between ‘overriding’ and ‘overloading’ a method?
Explain the Garbage Collector? What triggers the GC? Explain the Generations?
What is Entity Framework?
What is the difference between .NET and Asp.NET?
Why is .NET Core different from the older versions of .NET?
What are Generics? Non-Generics? Why/when do you use them?
What are interfaces? Why do we use them? How are they different than abstract classes?
Java
What are the different access modifiers in Java?
What differentiates a class, an abstract class, and an interface? Why would you choose to use each one?
How can you pass a function as an argument to a method in Java?
What is the difference between an application and a library?
What is compiling code?
What is the JVM?
How is the JRE different from the JDK?
What does the word static mean? final? transient?
What’s the difference between int and Integer? Which is more efficient to store in an array, and why?
General Q’s
How does the internet work?
When a user types in google.com in their bar, what is happening under the hood?
If your homepage is taking 10 seconds to load, how would you debug that?
If you have a SQL database where you only want to fetch records that start with T, but you have 20 million records, how do you avoid iterating over all 20 million records?
How are a GET and POST structured differently?
Ops 201
What is a virtual machine? What advantages might it offer?
Describe your troubleshooting process.
What happens when someone turns on a computer? Describe in as much detail as you can manage.
Ops 301
Explain IP address classes.
How do subnets work?
Describe in as much detail as you can manage what happens when someone sends an email.
What is the cloud?
What is IaC?
Ops 401: Cybersecurity
What is information assurance?
What is a security audit?
If a business has no security standard, what is a good one to start with?
What compliance deals with credit card information?
You need to quickly audit a client company against a specific NIST standard. What do you do?
What kind of system can we use to monitor systems uptime in an environment?
What is privilege creep?
What is SSO?
What is (and is not) MFA?
How can we protect data at rest?
How can we protect data in motion?
Explain public key encryption.
Example OpenSSL.
What is PKI? Give an example.
What are some documents associated with a data security policy?
What network port handles encrypted web traffic? Unencrypted web traffic?
What does Wireshark do?
What is promiscuous mode?
What is PCAP/WinPCAP?
What is traffic mirroring?
What is an IPS and an IDS?
How is encryption used offensively?
What is risk? How can we calculate and define risk?
Why do we care about threats?
What is threat modelling?
Name an exploit that is in the wild. Tell me how it works in as much detail as you can manage.
The SOC team wants to proactively improve its defenses against specific threats. How would you recommend doing so?
What is a TTP?
What is a cyber kill chain?
Why are STRIDE and DREAD often presented in tandem?