조세형교수의 기.대.넓.얕.
기술면접 대비를 위한 넓고 얕은 지식 C/C++/Java/Design Pattern
C언어의 char 타입은 어떤 타입인가?
2. 포인터와 배열의 관계는 무엇인가?
3. C 언어 (not C++)의 auto 는 무엇인가?
4. C언어의 static에 대하여 설명하시오
5. 컴퓨터에서 음수가 저장되는 방식은?
6. Unicode 와 UTF-8 에 대해 설명하시오
7. NULL 포인터는 무엇인가? 그러한 값을 쓰는 이유는?
8. C언어에서 extern 은 무엇인가?
9. 배열에서 인덱스는 왜 0부터 시작하는가?
10. 변수 선언에서 register는 무엇인가?
11. 변수 선언에서 volatile이란 무엇인가?
12. l-value 와 r-value 가 무엇인가?
13. 동적 할당과 정적 할당의 차이와 구현 방식을 말해보시오
14. 포인터를 파라메터로 전달하는 것은 call-by-value인가 call-by-reference인가?
15. value type과 reference type을 비교 설명하시오.
16. automatic 변수는 어디에 저장되며 언제 없어지는가
17. 전처리기에서 #define square(x) x*x 라고 정의하였다. 문제가 있는가?
18. C언어의 command line argument 는 어떤 식으로 저장되고 전달되는가?
19. FILE 포인터를 사용하는 것과 file descriptor를 사용하는 것의 차이는 무엇인가?
20. 재귀 함수의 장-단점은 무엇인가?
21. 재귀 함수는 기술적으로 어떻게 구현되는가?
22. 현재 디렉터리와 하위 디렉터이에 있는 모든 파일을 display 하는 프로그램을 작성하려면?
23. 재귀 호출 없이 ls -R 을 구현하려면?
24. C언어의 스트링 저장 방식을 설명하고 성능상의 문제점을 지적하라.
25. 러시아 페인트공의 문제가 해결되려면 어떻게 스트링을 설계하면 될까?
26. 함수를 호출하여 반환 값을 두개를 받고 싶다. 가능한 여러가지 방법을 설명하라.
27. void 포인터는 어떤 포인터인가?
28. void 포인터가 student 클래스 인스턴스를 가리키고 있을 때 어떻게 캐스팅하는가?
29. pointer to pointer 는 언제 사용하는가?
30. 구조체의 크기와 멤버 크기의 합이 맞지 않는 이유는?
31. little endian 과 big endian의 차이점은 무엇이며 이것은 실제로 코딩에 영향을 미치는가?
32. function pointer의 역할은 무엇인가?
33. Multitasking 과 Multithreading은 어떻게 다른가?
34. overloading 과 overriding은 어떻게 다른가?
35. 함수 시그너쳐와 오버로딩에서 왜 반환값을 따지지 않는가?
36. Callback 과 Listener의 차이를 설명하시오.
37. C++에는 왜 super 키워드가 없을까?
38. C++에서 free 와 delete의 차이는 무엇인가?
39. C++에서 가상 소멸자(virtual destructor)는 무엇이며 왜 필요한가?
40. 커리 함수란 무엇이며 C++에서 커리 함수를 어떻게 작성할 수 있나?
41. Java 에서 static 과 final 변수를 설명하라.
42. Interface 의 메소드가 public 인 이유는 무엇인가?
43. Interface 와 abstract class 는 어떤 차이가 있는가?
44. Interface는 multiple inheritance를 지원하는가? 그 이유는?
45. 멀티스레드에서 데이터의 일관성이 보장되지 않는 이유를 설명하라.
46. Java의 Thread와 Runnable의 차이, 연관성을 설명하라. 왜 Runnable을 쓰나?
47. C++/Java/C# 에서 각각 override에 대한 표시는 어떻게 하는가?
48. Java 의 @Override 는 빼면 안되나? 실질적인 역할이 무엇인가?
49. C++에서 다형성을 사용하기 위한 조건은 무엇인가?
50. C++에서 private inheritance 는 어떤 경우에 사용하는가?
51. 재사용에 있어서 inheritance 와 composition을 비교 설명하라.
52. inline 함수란 무엇인가?
53. C++ nested class와 Java inner class 의 차이는 무엇인가?
54. Java 의 static nested class 와 inner class의 차이는 무엇인가?
55. Java anonymous inner class는 써 봤습니까?
56. Serialize는 무엇이며 장단점은 ?
57. Java에서는 포인터가 없다는 말을 어떻게 생각하나?
58. Java의 String 과 StringBuilder 의 차이를 설명하시오.
59. Java의 StringBuilder 와 StringBuffer 차이는?
60. Java의 main entry point함수가 static 인 이유는 무엇인가?
61. C++ destructor와 Java finalize method의 차이는 무엇인가?
62. Java: checked exception과 runtime exception 차이는?
63. Java의 throw 와 throws의 차이는 무엇인가?
64. Java의 File 과 C의 FILE은 어떻게 다른가?
65. Abstraction 이란 무엇인가?
66. Encapsulation 과 information hiding을 설명하시오
67. Inheritance 란 무엇인가?
68. Polymorphism 이란 무엇인가?
69. 객체지향에서 다형성을 사용할 수 있게하는 기술적인 배경은 무엇인가?
70. 코드의 재사용과 개념의 재사용을 구분하여 설명하시오
71. 상속을 하는 목적을 3가지만 들어서 설명해보시오
72. Cohesion 과 Couping을 설명하시오.
73. SOLID principle이란 무엇인가?
74. Single responsibility principle
75. Open-closed principle
76. Liskov substitution principle
77. Interface segregation principle
78. Dependency inversion principle
79. Singleton 은 무엇이며 어떻게 만들 수 있는가?
80. 멀티스레드 환경은 singleton 클래스에 어떤 영향을 미치나?
81. Design Pattern의 큰 유형 3가지를 들고 각각의 대표적인 예를 들라
82. Factory와 Builder의 차이는 무엇인가?
83. Prototype 패턴의 목적은 무엇인가?
84. Adapter 패턴을 설명하시오.
85. Composite 패턴을 사용해야하는 경우를 예를 들어 설명하시오
86. Decorator
87. Flyweight
88. Bridge
89. MVC 장점
90. COR
91. Command
92. Iterator
93. Visitor
94. Memento
95. Observer
96. Strategy
97. Template method