NSA Interview Questions Flashcards

1
Q

Give an example of a project you completed and how you could’ve improved it.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Strong Typed Language? Give an example.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a critical section?

A

A code segment that more than one process has access to.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between a stack and a queue?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an Object and a Class? What is the difference between them?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Explain the OSI Layer Model vs. the TCP/IP Model.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain a circular Linked List.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is fuzzing?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How would you deal with a person in a team who is not producing the necessary work? What size teams have you worked in?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How much time would it take for a cannonball to fall to the depth of the Mariana trench? (Logical thinking > Physics equation)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What do you know about the NSA and why did you decide to apply here?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Tell me about your interpersonal skills?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explain the difference between forking a new process vs. spawning a new Thread.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly