NSA Interview Questions Flashcards
Give an example of a project you completed and how you could’ve improved it.
This Summer I was working to learn Django and was creating a todo list that emulated some of the more advanced features that applications like Todoist and Google Keep has such as subtasks and scheduled tasks along. Some ways I could have improved it was making it so users can have multiple lists for different days or just for different parts of their day. My grocery list is going to be vastly different than my gift list for Christmas.
What is a Strong Typed Language? Give an example.
A strongly typed language is one where the programmer cannot work around restrictions imposed by the type system. Some examples are Java and Python although they are typed differently, with Java being statically typed and Python being dynamically typed, once the type has been assigned that variable cannot be retyped.
What is a critical section?
A code segment that more than one process has access to.
What is the difference between a stack and a queue?
A stack uses a First In Last Out system where the first elements to enter the stack are the last to leave the stack.
A queue uses a First In First Out system where the first elements to enter the stack are the first to leave the stack.
What is an Object and a Class? What is the difference between them?
A Class is a template for objects that define the object’s properties and behavior. An object is a member, or an “instance” of a class. It will contain properties and behavior detailed in the class blueprint.
It’s the same difference between a house and the plans of a house. One way to think of it is using the plans of a house, the Class, to make thousands of the house using the same plans, the Objects.
Explain the OSI Layer Model vs. the TCP/IP Model.
Explain a circular Linked List.
What is fuzzing?
Which programming language are you most comfortable with? Rate yourself on a scale of 1 to 10 with regard to your skills in Java, C++, and any other programming languages you like.
How would you deal with a person in a team who is not producing the necessary work? What size teams have you worked in?
How much time would it take for a cannonball to fall to the depth of the Mariana trench? (Logical thinking > Physics equation)
What do you know about the NSA and why did you decide to apply here?
Tell me about your interpersonal skills?
Explain the difference between forking a new process vs. spawning a new Thread.
A new thread is still part of the same process while a new process is operating separately from it’s parent meaning it’ll use more resources that instead of sharing resources like threads.