Depth of IT Knowledge
How memory management works?
- Memory management is the process of controlling and coordinating computer memory, assigning portions called blocks to various running programs to optimize overall system performance. Memory management resides in hardware, in the OS(operating system), and in programs and applications
The most commonly used collection, libraries, etc
- C++ standard library, Jason open source library.
- Java spring framework, Jason.
Involves storing and providing access to data in efficient ways
Expected to know the runtimes for common operations as well as how they use memory
Traversals, divide and conquer, breadth-first search vs depth-first search Trade offs
- Depth first order: Pre/In/Post
- Pre-order: Root-> Left -> Right
- In-order: Left-> Root -> Right
- Post-order: Left-> Right -> Root
- Breadth first order: Level by level
- Divide and conquer:
- BFS -> level by level / DFS -> follow edge start to end(vertex)
- BFS uses queue to store nodes, DFS uses stack to store nodes
- BFS memory consumption inefficient / DFS memory consumption efficient
- BFS optimal algorithm but not DFS
- DFS constructs narrow long trees. BFS constructs wide and short tree
Knowing the runtime, thearetical limitations, and basic implementation strategies or different classes of algorithms is important
Be ready to defend your design
OS - Memory management, processes, threads, synchronization, paging, and multithreading
Brush up on how browsers function at a high level, from DNS lookups and TCP/IP, to socket connections.
- Browser is an application which can connect user with www.
- Browsers and server communication using TCP/IP
- DNS to work with URLs. And it enable different brands of web browsers to communicate with different brands of web servers.
- DNS lookup requests to convert the URL to an IP address. Then requests HTTP requests to the server to retrieve the content.
- Browser may also save temporary information about its connections to local files on the client computer(Cookies)
Data-driven modeling, train/test protocols, error analysis, and statistical significance.
- Data-driven modeling is the area of hydroinformatics undergoing fast development
- Test protocols are collections of test cases which check a specific element of the system
- Statistical significance is the likelihood that a relationship between two or more variables is caused by something other than chance.
So! what languages are you most farmiliar/proficient with?
- I’ve been making framework using C#. I focused on Object Oriented Programming model for designing the framework. And I usually practiced algorithm using C++ in the class and private practice. So, I’m comfortable with using C# and C++
What the primitive types in JAVA or C++?
- Boolean byte char short int long float double for JAVA
- Bool int char float double void wchar_T
UTF-8 and Unicode?
- UTF-8 means 8 bit
- Unicode standard defines fewer code points than can be represented in 32 bits. (Usually UTF-16) characters as two bytes.