CS 기본 개념
-
[운영체제] Concurrency, Parallelism, Block, Non-block, Sync, AsyncCS 기본 개념/운영체제 2023. 9. 14. 08:37
서론 최근 선배님이 현 회사에 입사할 때 가장 기억나는 질문에 대해 이야기해주셨다. Blocking, Non-blocking와 Synchronous, Asynchronous의 차이점에 대해 물어봤었다고 한다. 질문을 듣고서 난 두 개념의 차이점을 왜 설명해야하나 싶다가(두 개념이 서로 비교할 수 없는 독립적인 개념이라고 생각했다. 사실 정답이다.) 혹시 틀렸을지도 몰라 인터넷에서 찾아보면서 오히려 잘 알고 있던 개념을 헷갈리는 상황까지 발생했다. 골 때리는 건 사용되는 곳마다 의미가 다르다는 거다. 그러니까 누군가 이것에 대해 물어본다면 무엇을 기준으로 대답해야 하는지 확실히 해야할 것이다. 그리고 구글링을 해보면 해당 주제에 대해 의견이 분분하다. 누군가의 의견을 누구는 동의하고 누구는 아니라고 하고...
-
[자료구조] Array와 ListCS 기본 개념/자료구조 2022. 7. 11. 14:52
서론 꽤 오래 전의 기억이지만 아직도 기억 난다. "리스트와 배열의 차이점은 무엇인가요?" 아주 기초적인 질문이다. 너무 쉽다. 근데... 분명 알고는 있는데, 대충 안다. 그러니 대충 대답할 수 밖에 없다. "어... 그게... 리스트는 접근할 때... 어쩌고... 배열은 접근할 때... 어쩌고..." "그럼 배열이 데이터에 접근할 때 더 이점이 있는데 리스트는 어쩔 때 사용할까요?" 이 대답을 하면서 내가 알고 있는 게 전부인가? 정확한 게 맞나? 라는 의문이 들었다. 긴가민가하면 모르는거다... 라고 생각하고 서치를 했는데.. 역시 정말 잘 알고 있던 것이었다. 아주 당연한 것들.. 그런데 그 땐 왜 그렇게 자신없이 대답했는지, 이상한 소리를 했는지 모르겠다. 왜 어리버리 했는지 정말 이해가 안 가..