prep

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/62

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 1:19 PM on 8/5/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

63 Terms

1
New cards

difference between a pointer and a reference

a pointer stores a memory address, can be reassigned, and can be null. a reference is an alias for an existing object, must be initialized and cannot be reseated.

2
New cards

stack vs heap

stack stores local variables and is managed automatically, heap stores dynamically allocated data and requires careful memory mangement

3
New cards

what causes a memory leak

when dynamically allocated memory is no longer reachable but was never released, it can accumulate, degrade, or crash a long running system

4
New cards

what is a segmentation fault and how to debug it

a segmentation fault occurs when a program attempts to access a memory location that it's not allowed to access, to debug it id reproduce it, inspect the stack trace in a debugger, find the bad pointer, and test the fix

5
New cards

constructors vs descructors

constructor established a valid initial state when an object is created, a destructor releases resources when the object leaves scope or is deleted

6
New cards

what is object oriented programming

it organizes code around objects that combine data and behavior, the four pillars are encapsulation, abstraction, inheritance, and polymorphism

7
New cards

encaspulation

protects an objects internal data

8
New cards

inheritance

lets one class build on another

9
New cards

abstraction

hides internal details and shows only the essential features

10
New cards

polymorphism

lets the same interface support different behaviors

11
New cards

overloading vs overriding

overloading uses the same function name with different parameters, overriding replaces a virtual base class function in a derived class

12
New cards

pass by value vs reference

pass by value creates a copy so changes do not affect the caller, pass by reference operates on the original object and avoids copying

13
New cards

array vs vector

array has a fixed size and is limited, vector manages a dynamic contiguous array, tracks the size, and handles allocation

14
New cards

const

means something that should not be modified through that name or interface, variables, reference, pointers, etc..

15
New cards

header files are used for?

declaring interfaces, classes, functions, etc

16
New cards

difference between c and c++

c is direct, minimal abstractions, c++ builds on that with classes, templates, libraries

17
New cards

current c++ skils

ive built a strong foundation through coursework in object oriented programming, data structures, and algorithms. ive actively been refreshing it and am ready to deepin it in a professional setting

18
New cards

when would you use common data structures

use a vector for indexed data, a stack or queue for ordered processing, hash map for fast lookups, and trees or graphs for connected data

19
New cards

common time complexities

o1 is constant, ologn halves the work, on scans once, on2 compares every pair

20
New cards

binary search works?

on sorted data, compare the target with the middle element and eliminates half of the remaining range each step

21
New cards

hash tables work?

a hash function maps a key to a bucket, collisions are handled through methods such as chaining or open addressing

22
New cards

detect dupes by?

scan the collection and store seen values in a hash set, if a value is already present its a duplicate

23
New cards

walk me through your debugging process

i reproduce the issue, collect logs and inputs, isolate the cause, test a focused fix, and run regression tests to make sure nothing else broke

24
New cards

what if a crash is intermittent

compare logs, timing, inputs, environment details across failures, add targeted logging or use a debugger to find the pattern

25
New cards

how to verify a fix

i reproduce the original failure first, apply the focused fix, and confirm the same test now passes. Then I test boundaries, invalid inputs, adjacent behavior, and integration points.

26
New cards

how would you test a new feature

test the expected behavior, invalid inputs, boundaries, and likely failures, include unit, integration, and regression tests

27
New cards

overview of packet loss project

I helped build a P4 system that compared packet counters between switches to locate full and partial packet loss. I wrote Python controller logic, tested it in Mininet, and improved measurement consistency with active and inactive counters.

28
New cards

why were ingress and egress counters needed?

They let us compare traffic leaving one point with traffic arriving at the next. A consistent difference between corresponding counts indicates loss along that path, and considering direction helps localize which link is affected.

29
New cards

what did the python controller do?

it collected counter information from the switches, coordinated the comparison logic, and used discrepancies to detect and localize loss, P4 handled fast data-plane measurement, while Python handled control-plane coordination and analysis.

30
New cards

biggest challenge of p4?

The biggest challenge was comparing counters from the same time window. Active and inactive counter sets let one collect traffic while the other was read.

31
New cards

how was the system validated?

We created a controlled Mininet topology, introduced known packet loss, and checked whether the system identified the correct link and direction.

32
New cards

how would you improve this with more time?

id say automate repeated trials, and measure false positives, detection time, and system overhead.

33
New cards

tcp vs udp

TCP is connection based and provides reliable, ordered delivery, UDP has less overhead but does not guarantee delivery or order.

34
New cards

explain tcp handshake

The client sends SYN, the server replies SYN-ACK, and the client returns ACK. This synchronizes sequence numbers and establishes state before application data is exchanged.

35
New cards

what happens when a url is entered?

The browser resolves the domain with DNS, establishes a secure connection, sends an HTTP request, receives the response, and renders the page.

36
New cards

switch vs router

A switch primarily forwards frames within a local network using MAC addresses. A router forwards packets between IP networks using routing tables.

37
New cards

how was wireshark used

I use it to capture and filter traffic, inspect protocol fields and timing, follow conversations, identify retransmissions or failed handshakes, and compare behavior before and after a change.

38
New cards

authentication vs authorization

Authentication verifies who a user or system is. Authorization determines what that authenticated identity is allowed to do.

39
New cards

encryption vs hashing

Encryption is reversible with the correct key and protects confidentiality. Hashing is one-way and produces a fixed-size digest used for integrity checks and password verification with a salt and suitable password-hashing function.

40
New cards

symmetric vs asymmetric encryption

Symmetric encryption uses one shared secret and is efficient for bulk data. Asymmetric encryption uses a public/private key pair and supports key exchange and digital signatures but is more computationally expensive.

41
New cards

what does tls protect

tls authenticates the server, encrypts data in transit, and protects in integrity

42
New cards

what is ssh

ssh provides encrypted remote access for commands, file transfers, and tunneling

43
New cards

how would you investigate a vulnerability

reproduce it safely, determine the scope and impact, find the root cause, implement and test a secure fix, and document how to prevent it in the future

44
New cards

what is syn flood

sends many connection requests without completing the handshake, filling server resources, and blocking legit users

45
New cards

what did the firewall rules accomplish

the limited traffic matching the attack pattern while trying to preserve legitimate connections

46
New cards

what is an embedded system

computer system designed for dedicated function within a larger product, often with constraints on memory, processing, power and reliability

47
New cards

how is embedded development different

Embedded development has tighter memory, performance, timing, and hardware constraints, so reliability and low-level debugging are especially important.

48
New cards

what is firmware

a low level software that initializes and controls hardware

49
New cards

what is the linux kernel

it manages memory, processes, devices, networking between applications and hardware

50
New cards

how is your experience with embedded systems

I haven’t worked professionally with embedded systems yet, but I understand their memory, performance, and reliability constraints. I’m excited to deepen my C/C++ and low-level debugging skills.

51
New cards

git fetch vs pull vs clone

Clone copies a repository, fetch downloads remote changes without applying them, and pull fetches and then merges or rebases those changes.

52
New cards

git merge conflict

It happens when Git cannot automatically combine overlapping changes. I would understand both intended changes, edit the affected files to a correct combined result, run tests, and then complete the merge.

53
New cards

agile development

Agile delivers work in small increments and uses regular feedback to adjust priorities and improve the product.

54
New cards

why software with cyber masters

Software engineering and cybersecurity are closely connected because secure systems start with reliable code. I want to build strong engineering skills while applying a security mindset throughout development.

55
New cards

why am i ready even without extensive SWE

I have a strong computer science foundation, graduate-level security and networking experience, and hands-on technical projects. I learn quickly, troubleshoot systematically, and communicate clearly.

56
New cards

how i explained technical information clearly

At GE Healthcare, I created training resources for a cloud transition affecting more than 500 employees. I organized the information around their workflow and made it clear for different technical skill levels.

57
New cards

technical challenge

in my packet-loss project, inconsistent counter timing made results unreliable. I helped use active and inactive counters to create more consistent measurements and learned to isolate problems systematically

58
New cards

learned something quickly

When I needed to learn P4, I focused on the core concepts, used documentation, and tested small examples before applying it to the project. That approach helped me become productive quickly., additonally at spelman our course work allowed us to learn multiple languages quickly for example html, java, javascript, python, p4

59
New cards

mistake or setback?

An early testing assumption led to inconsistent counter results. I revisited the setup, improved how measurements were collected, and learned to validate assumptions earlier.

60
New cards

disagreement with teammate

I focus on the work rather than the person. I listen to their reasoning, agree on decision criteria, compare evidence, and support the final team decision.

61
New cards

how to respond when you dont know an answer

I’m honest about what I know, reason from related fundamentals, and explain how I’d verify the answer. I’d rather ask a focused question than guess.

62
New cards

why ciena

Ciena combines software, networking, and security, which fits my background and goals. I also value its sustainability work, technology education efforts, and responsible approach to AI.

63
New cards

career goals

In the short term, I want to become a well-rounded software engineer. Long term, I’d like to specialize in secure systems where software, networking, cybersecurity, and data protection intersect.