본문 바로가기
[개발] 프로그래밍/Web, Spring, Java

백엔드 면접 기초 질문 답변(36~50)

by 안산학생 2021. 2. 5.

▲ 필기 원본


 

36. 자바스크립트란? 스크립트언어란?

스크립트 언어란 소스코드를 컴파일 하지 않고도 실행할 수 있는 프로그래밍 언어입니다. C와 자바는 개발자가 작성한 코드를 컴파일러를 통해 기계어로 변경해야하지만 스크립트 언어는 컴파일 과정 없이 내장된 번역기에 의해 실행됩니다.

자바스크립트를 한마디로 요약하자면 웹을 풍부하게 만들어주는 작고 가벼운 언어입니다. 웹 브라우저에서 실행하는 스크립트 언어를 기술하며 작고 빠르기 때문에 동적인 웹 문서를 꾸밀 때 널리 사용합니다. 객체 기반의 언어이지만, 상속과 클래스 개념은 없고 HTML에 연산제어 등 프로그래밍적 요소가 추가된 것이 장점입니다.

 

37. JQurey란? 특징은?

JQuery는 자바스크립트 라이브러리입니다. 자바스크립트를 좀 더 쉽게 사용하기 위해 만들어졌습니다. JQuery를 사용하면 짧고 단순한 코드로도 웹 페이지에 다양한 효과나 연출을 적용할 수 있습니다.

JQuery는 구버전을 포함해 대부분의 웹에 지원되고, HTML DOM을 손쉽게 조작할 수 있으며 CSS스타일도 간단히 적용할 수 있습니다. 같은 동작을 하는 프로그램은 더욱 짧은 코드로 구현할 수 있습니다.

 

38. JQurey 셀렉터

$( ) 모양을 사용합니다.
 - # : 아이다
 - . : 클래스
 - [] : 속성
 - > : 자식, 후손
등 여러 셀렉터가 있습니다.

 

39. 노드란?

크롬의 자바스크립트 실행환경에 기반을 둔 빠르고 확장성 있는 네트워크 어플리케이션을 만들기 위한 플랫폼입니다. 노드는 이벤트 주도 방식과 논블럭킹 I/O방식을 사용하는데 이는 가볍고 효율적이며 분산환경에서 실행되는 데이터 집약적인 실시간 어플리케이션에 적합합니다.

 

40. 노드 특징

노드는 싱글스레드기반이고 I/O가 많은 작업에 유리하다는 특징이 있습니다. 멀티스레드 방식보다 쉽고 I/O작업이 많은 서버에 적합합니다. 웹 서버가 내장되어 있고 JSON형식과 호환이 쉬운 것이 장점입니다. 싱글스레드라 CPU코어 하나만 사용하고 CPU작업이 많은 서버로는 부적절합니다. 하나의 스레드가 멈추지 못하게 해야하는 단점이 있습니다.

 

41. 동기식과 비동기식 차이

동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에 결과로 나와야합니다. 비동기식은 동시에 일어나지 않으며 요청과 동시에 결과가 일어나지 않을 거라는 약속입니다. 비동기식은 동기식보다 설계가 복잡하지만 결과가 주어지는 동안 다른 작업을 할 수 있다는 장점이 있습니다.

 

42. Ajax란?

Ajax는 자바스크립트 라이브러리 중 하나입니다. 브라우저가 가지고 있는 XMLhttpRequest객체를 이용해서 전체 페이지를 고치지 않고도 일부만을 위한 데이터를 로드하는 기법입니다. 한마디로 자바스크립트를 사용한 비동기 통신으로 클라이언트와 서버간에 XML데이터를 주고 받는 기술입니다.

 

43. 콜백 함수란?

무엇인가 일을 다른 객체에게 시키고 그일이 끝나는 것을 기다리는 것이 아니라 그 객체가 나를 다시 부를 때까지 내 할일을 하고 있는 것 입니다.

 

44. 클로저란?

 

45. JSP가 무엇인가?

JSP란 Java Server Pages의 약자이며 HTML코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구입니다. jsp가 실행되면 자바 서블릿으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답합니다.

자바 서블릿이란 웹 페이지를 동적으로 생성하기 위한 서버 측 프로그램을 말합니다. 이는 자바 언어를 기반으로 만들어지며 웹 어플리케이션 서버 위에서 컴파일 되고 동작합니다.

 

46. MVC는 무엇이고 1,2의 차이점은?

Model, View, Controller의 줄임말로써 MVC는 사용자와 상호작용하는 s/w를 디자인함에 있어 3가지 요소로 쪼개어 하는 것을 가르킵니다.

Model은 프로그램 내부 상태 즉 프로그램 데이터를 말합니다. Controller는 데이터와 비즈니스 로직간의 상호작용입니다.

MVC1은 웹브라우저의 요청을 jsp가 받아서 처리하는 구조입니다. jsp에 비즈니스 로직을 처리하기 위한 코드와 결과를 보여주기위한 출력관리가 뒤섞여있습니다. 단순한 페이지 작성으로 쉽게 구현이 가능 하지만 로직의 재사용이 힘들어 유지보수 문제가 있습니다.

MVC2는 웹브라우저의 요청을 하나의 서블릿이 받고, 요청을 알맞게 처리한 뒤 결과를 jsp에 포워딩합니다. 비즈니스 로직 처리부분을 모듈화 시킨 구조입니다.

 

47. RDBMS와 NOSQL 차이

NoSQL의 차별화된 특징은 RDBMS와 다르게 최초 테이블 생성 시 데이터간의 관계를 정의하지 않습니다. 그래서 보다 빠른 속도의 설계가 가능합니다. 또한 RDBMS가 가지고 있던 복잡도와 용량의 한계를 극복하며 페타바이트 이상 급의 데이터를 저장합니다. NoSQL은 Scale out을 통한 노드 확장을 지원합니다. 하나의 고성능 머신이 데이터 서버가 되어 처리하는 scale up방식의 RDBMS와 달리 여러개의 일반 서버를 연결하여 데이터를 분산하고 저장하게 됩니다. 이를 통해 안정성이 확보되는 장점이 있습니다.

 

48. 알고리즘 테스트

 

49. MyBatis 장점

자아븨 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발프레임워크로서 JDBC를 통해 데이터베이스에 액세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로시저 및 고급 맵핑을 지원하며 모든 JDBC 코드 및 매개변수의 중복 작업을 제거합니다. MyBatis에서는 프로그램에 있는 SQL 쿼리들을 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점을 가지고 있습니다.

 

50. URI, URL, URN이란?

URI에는 URN과 URN이 포함되어 있습니다. URL은 URI지만 URI는 URL이 아닙니다.
URI : 인터넷 상의 자원을 식별하기 위한 문자열 구성
URL : 인터넷 상의 자원의 위치를 나타냄
URN : 위치와 상관없이 리소스의 이름값을 이용해 접근하는 방식



댓글