Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Development Engineer - Coggle Diagram
Software Development Engineer
data structures & algorithms ❗
Note:
You don't need to do
all of them just the data structures
and the recursion and bactracking
methods
arrays
rotation
arrangement & rearrangement
order statistics
range queries
searching & sorting
optimization problems
matrix
linked list
singly
circular
doubly
stack
design & implementation
standard problems
operations
queue
implementation
standard problems
operations
binary tree
traversals
construction & conversion
checking & printing
summation
longest common ancestor
graph
graph cycle
topological sorting
minimum spanning tree
back tracking
shortest path
connectivity
maximum flow
introduction DFS and BFS
backtracking
standard problems
recursion
towers of hanoi
inorder/preorder/postorder tree traversals
DFS of graph
dynamic programming
basic concepts
advanced concepts
basic problems
intermediate problems
hard problems
programming ❗
c
Note:
Not required if you
are not interested
variable declaration, definition & scope
data types
storage classes
I/O
operators
preprocessor
arrays & strings
c++
One of the most important
language but not required if
you know Java or C#
control flow
data structures
scope
inheritance
preprocessor
exception handling
overloading
python
One of the most important
language
control flow
data structures
object oriented programming
modules
exception
iterators, generators and zip()
decorators
lambda, filter and map
file handling
javascript
Note:
Not required if you are
not interested
control flow
data structures
object oriented programming
modules
exception
generators
file handling
scope
immediately invoked function expression
hoisting
closures
callbacks
promises
async & await
integrated development environment ❗
microsoft visual studio code
Note:
Not necessarily required if you
know any other integrated development
environment
operating system ❗
linux :penguin:
Note:
Not necessary for windows or macos users. They can focus on learning their operating system.
kernel
shells
users
groups
processes
disk partitions
GRUB boot manager
debian package manager
apt
protocols
IP addresses
address resolution protocol
subnets & routing
network ports
TCP wrappers
secure shells (SSH)
linux firewalls
packet filtering with IP tables
PGP/GPG
tripwire
network file system (NFS)
light weight directory access protocol (LDAP)
virtualization
linux-windows integration (terminal services, samba server)
linux programming
linux clusters (beowulf)
email & DNS servers
version control system ❗
git
init
clone
branch
checkout
add
commit
push
pull
diff
stash
status
log
merge
SDLC
requirement analysis
design architecture
implementation
testing
deployment
maintenance
database ❗
SQL
data definition language
data manipulation language
snow flake schema
start schema
fact and dimensions table types
data modelling
joins
select queries
relational keys
key elements of a database
networking
OSI
IP address & subnet
TCP & UDP
DNS
NAT
hardware types
cryptography
To learn cryptography go for
the book
Cryptography for Developers
public key algorithms
encrypt & authenticate modes
ANS.1 encoding
random number generation
advanced encryption standards
hash functions
message - authentication code algorithms
large integer arithmetic
cloud computing
GCP
containers