![translation](https://cdn.durumis.com/common/trans.png)
This is an AI translated post.
[Non-Computer Science, Surviving as a Developer] 14. Summary of Frequently Asked Technical Interview Questions for New Developers
- Writing language: Korean
- •
-
Base country: All countries
- •
- Information Technology
Select Language
Summarized by durumis AI
- This article summarizes technical questions frequently asked in new developer interviews, providing explanations on various topics such as memory areas, data structures, databases, programming, page replacement algorithms, processes and threads, OSI 7 layers, TCP and UDP.
- It helps to understand the concept with brief explanations for each topic and representative examples.
- It contains useful information that can help developers acquire basic technical knowledge necessary for interview preparation.
Non-Majors, Surviving as Developers
#14. Frequently Asked Technical Interview Questions for New Developers
[Main Memory Areas]
- Code Area: The area where the program's source code is stored. The CPU fetches the instructions (source, functions, control statements) stored in the code area and processes them. For example, when a program written in C is executed, the code area stores the source code of the program.
- Data Area: The area where global variables and static variables are stored. It is allocated at the start of the program and remains until the program ends. For example, when a program written in C is executed, the data area stores the global variables or static variables declared in the program.
- Stack Area: A temporary memory area used by the program, where local variables and parameters related to function calls are stored. It is allocated with the function call and is destroyed when the function ends. For example, when a function written in C is called, the local variables or parameters used in that function are allocated to the stack area.
- Heap Area: An area where users can dynamically allocate and deallocate memory space. For example, when memory is dynamically allocated using the malloc() function in C, the allocated memory area is stored in the heap area.
[Data Structures]
- Stack: A data structure that follows the Last-In, First-Out (LIFO) method. For example, the 'Back' button on a computer is similar to a stack. The previously visited pages are stored in the stack, and when the 'Back' button is pressed, the most recently stored page is retrieved and displayed.
- Queue: A data structure that follows the First-In, First-Out (FIFO) method. For example, getting a waiting number at a bank and entering the waiting line is similar to a queue. The first person to arrive is processed first, and the last person to arrive is processed last.
- Tree: A data structure that represents data in a hierarchical structure. For example, the HTML DOM tree is similar to a tree. The structure of an HTML page is represented as a tree, starting from the root node, the html tag, and the child nodes are sequentially expressed.
- Heap: A type of binary tree structure, divided into max heaps and min heaps. For example, in a priority queue, the data with the highest priority is located at the root node of the heap, and the data with the next highest priority is located at the child node. This is an example of a max heap.
[RDBMS and NoSQL]
- RDBMS: A database that defines and manages data structurally with a strict schema. It can store data distributedly and is easy to modify. For example, MySQL, Oracle, MS-SQL are representative examples of RDBMS.
- NoSQL: A database that stores and manages data with a flexible schema. It is suitable for processing and storing large amounts of data and has high scalability. For example, MongoDB, Cassandra, HBase are representative examples of NoSQL.
[Procedural and Object-Oriented]
- Procedural Programming: A programming technique that emphasizes sequential processing. Languages such as C and Pascal are procedural languages.
- Object-Oriented Programming: A method of treating data and procedures logically together based on the concept of Objects. Languages such as Java, C++, and Python are object-oriented languages. For example, in a car simulation program, the car is represented as an object, and the attributes of the car (color, acceleration, etc.) are expressed as data, and the functions that the car performs (running, stopping, etc.) are expressed as methods.
[Overriding and Overloading]
- Overriding: Redefining and using a method that a parent class has in a child class. When a method of the parent class is called in the child class, the method redefined in the child class is executed instead of the method of the parent class. For example, the toString() method in Java is an example of Overriding.
- Overloading: Defining multiple methods with the same name, but with different types and numbers of parameters, to respond to different types of calls. Multiple methods with different parameters but the same name work. For example, the print() method in Java is an example of Overloading.
[Page Replacement Algorithm]
- FIFO: Replaces the oldest page loaded into physical memory. The 'Close' function in the taskbar on a computer is similar to the FIFO algorithm. The program that was launched first is displayed last and closed, similar to this.
- LRU: Replaces the page that has not been used for the longest time. The 'App Termination App' that terminates old apps among infrequently used apps is similar to the LRU algorithm.
- LFU: Replaces the page with the least number of references. For example, the 'Close Tab' function that closes the least used tab among newly opened tabs in the browser is similar to the LFU algorithm.
- MFU: Replaces the page with the most number of references. The MFU algorithm is not commonly used.
[Process and Thread]
- Process: A unit of execution work allocated from the operating system, meaning a program. When multiple processes run simultaneously, each process is allocated independent memory and CPU.
- Thread: A unit of execution that runs within a process, sharing resources allocated to the process and running. For example, in a web browser, each tab is not a process, but a thread.
[OSI 7Layer]
- Application layer: A layer that connects users to the network, including protocols such as HTTP, FTP, and SMTP.
- Presentation layer: A layer that defines the way data is represented, including protocols such as JPEG, MPEG, and SSL.
- Session layer: A layer that manages sessions between two communicating systems.
- Transport layer: A layer responsible for data transmission, including protocols such as TCP and UDP.
- Network layer: A layer that sets the path for transmitting data, including protocols such as IP and ICMP.
- DataLink layer: A layer that transmits data based on physical addresses (MAC addresses), including protocols such as Ethernet and Token Ring.
- Physical layer: A layer responsible for physical connection and communication with transmission media.
[TCP and UDP]
- TCP: A connection-oriented service that transmits data reliably. It establishes or breaks connections using 3-way handshaking and 4-way handshaking methods. For example, when logging in to a website or transferring files, the TCP method is used.
- UDP: A connectionless service that does not go through any signaling procedures for data transmission and has low data reliability, but is fast in processing speed. For example, in cases such as video streaming or online games, where fast transmission is important, the UDP method is used.