강의

멘토링

로드맵

Reviews 5

Average rating 5.0

Completed 30% of course

There are too many incorrect contents Since there are too many incorrect contents from the beginning, from then on, I have to separately verify whether the lecture contents are true, and I get to the point where I get confused whether I am listening to the lecture or checking for errors. In particular, Array shows off its power in the part where memory allocation occurs during the compile stage. It is also funny that it is allocated in the Stack memory area. I would like to express my deepest condolences to the many students who listened to this lecture and made the interviewers laugh out loud, and I hope that there will be no additional victims like me. Additional. The instructor left the following comment. I would like to inform you that the contents of this Notion are also incorrect. https://midi-mandolin-36f.notion.site/Array-33d866e5193f49789dd2079c75412f96?pvs=4 In "C language", "Static Array" can be stored anywhere in the process's data area (Stack, Data, Heap), and it depends on the developer's development intention (code). // The code is as follows. int[5]; // Stored in the Data area int main() { int[5]; // Stored in the Stack area int* arr = (int*)malloc(5 * sizeof(int)); // Stored in the Heap area // Memory is dynamically allocated, but the array itself is a Static Array. } If the proposition "Static arrays in the C language are allocated to stack memory during the compile phase." is true, "int type variables in the C language are allocated to stack memory during the compile phase." is also true because it is the same mechanism. "If you roll a dice, you get a 3. 1, 2, 4, 5, and 6 are exceptions." Is the explanation correct? "When you roll a dice, the number that comes out is a random number between 1 and 6." Students can decide whether the explanation is correct. Addition. The instructor has already modified Notion again. According to the logic of the Notion content, in Java, not only Arrays but all data structures are stored in the Heap. As for the professor's answer below... I don't know what you are trying to say. [Specific data structures and build stages, process memory area allocation are not related] is correct. Based on the C language, you wrote 1, 2, and 3 well, but I don't know why the conclusion is suddenly [Based on the C language, arrays are allocated in the stack area during the compile stage]. Anyway, thank you for your hard work.

nossi님의 프로필 이미지
nossi
Instructor

Hello, jordy. I sincerely thank you for leaving a long and honest review to help students. However, there is no error in the content that arrays are allocated to the stack area during the compile stage based on the C language. However, it may be different from the JAVA perspective, so it may be confusing. I will explain the content in detail at this link [https://midi-mandolin-36f.notion.site/Array-33d866e5193f49789dd2079c75412f96?pvs=4]. It will be very helpful for everyone if you take a look!! I apologize for not saying that it was based on the C language in class, because it would have been less confusing. I thought you would naturally accept it as based on the C language because it was mentioned right after I explained static arrays, dynamic arrays, and linked lists based on the C language. Nevertheless, I feel bad that my lecture hurt jordy's feelings a lot. Looking at your course history, you took 3 lectures, excluding the intro part. If you want a refund, you can do so by contacting Infraon. Even if we don't have a connection, I hope you always do well in what you do. :) Fighting!

Hello. Instructor Even in the C language, the proposition that "Array is allocated memory in the stack area during the compile stage" is not always true. Of course, if you create an array like int x[100] in a "function" such as main, it is true because the local variable is stored in the stack area. However, this is because the C language compiler stores the local variable in the stack area, not because of the characteristics of the data structure Array. And if you create it in the global variable area outside the main function or use alloc (malloc) for dynamic allocation, Array can also be created in an area other than the Stack. There is bound to be confusion because you are explaining it by mixing data structure characteristics and language characteristics. The proposition that "A certain data structure is created in a certain memory area" cannot always be true. As you said, it can be different for each language, and even in the same language, it can be stored in different memory areas depending on the developer's intention. In the Notion link you gave, you said, "In this lecture, Array means Static array in C language." In the "C language", when there is the following code, the memory allocation area of "Static Array" is as in the comment. int a[10000][10000]; // Allocated to an area other than Stack int main() { int b[10000][10000]; // Allocated to Stack area }

nossi님의 프로필 이미지
nossi
Instructor

Thank you for your good answer. Yes, that's right. The proposition that "arrays are allocated to the stack area during the compile phase" is not always true. Thanks to your mention, I've linked the exceptions to the lecture community (question) so that others can see them. Thank you. Data structures, algorithms, networks, databases, and operating systems are broad and very deep subjects that you learn over 3-4 years at a 4-year university. In fact, even the things you learn from professors over 4 years don't cover all the questions you'll be asked during an interview. When I was preparing for an interview, I also looked through thick books in original format one by one and prepared in depth. That suited my study style. However, after going through dozens of interviews and finally getting hired at the company I wanted, I looked back and felt regretful. I thought, 'If only someone had guided me from the beginning, I could have saved my precious time.' So when I created this lecture, the thing I focused on the most was 'reducing learning time.' For example, I explained the resizing process of a dynamic array as doubling, but if you look at the actual implementation in each language, it doesn't do exactly double. However, the reason I couldn't mention all of this in the lecture is because I thought it would be an excessive explanation. In fact, as I was making the lecture, I realized that it was more difficult to summarize the 'key content' and reduce the time than to explain 'all the content' and increase the time. I think I caused confusion in the process. It gave me a chance to think about the lecture again. Thank you.

Thank you for your answer. That's right. Resizing of Dynamic Array is also implemented in Java as a 50% increase. As someone who has taught lectures as a job, I know very well that it is difficult to explain everything perfectly in one go. I sincerely apologize for using somewhat harsh expressions in my first review, and I will not delete or edit my course review as a reflection. The reason I reacted this way is because, as a senior who has taught many juniors, it is a considerable amount of lecture cost for job seekers, but I think there were some parts of the lecture that were a bit disappointing. Still, I am grateful that you gave a good lecture in most of the content except for the few parts that I was disappointed in, and I learned a lot. Thank you.

Developer Interview Preparation with Previous Questions [CS Complete Conquest] thumbnail
nossi

·

65 lectures

·

2,219 students

Developer Interview Preparation with Previous Questions [CS Complete Conquest] thumbnail
nossi

·

65 lectures

·

2,219 students