m1.Garbage Collection(가비지 컬렉션)이란 무엇인가요? 김지수
ガベージコレクションとは、コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。
2.자바의 기본형 데이터 타입에 대해 설명해 보세요 김지수
boolean: トゥルーまたはフォールスの値を入れられる論理型<ろんりがた>のデータ型
char: シングルクォーテーション('')で囲む文字1個を入れられるデータ型
byte: バイトデータを入れられるデータ型
short: 整数(せいすう)データを入れられるデータ型、範囲<はんい>が最<もっと>も小<ちい>さなデータ型。
int: 整数データを入れられるデータ型
long: 整数データを入れられるデータ型、範囲が最も大<おお>きなデータ型。
float: 浮動小数点数<ふどうしょうすうてんすう>データを入れられるデータ型
double: 浮動小数点数データを入れられるデータ型、入れられる値の範囲がfloatより大きい。
String: 文字列<もじれつ>(ダブルクォーテーション ("")で囲む文字)を入れられる参照型<さんしょうがた>のデータ型、基本データ型ではなく、参照型だが基本データ型のようによく使われる。
3.자바의 참조형 데이터 타입에 대해 설명해 보세요. 김지수
参照型とは、配列やクラスのようにnew演算子を用いてオブジェクトを生成してから使用するデータ型のことです。データはメモリ上で管理されており、参照型はメモリ上のアドレスを参照しています。代表的な例は配列とクラスである。
4.OOP (Object-Oriented Programming)이란 ? 김채연
オブジェクト指向プログラミング。言い換えれば、それはオブジェクトの観点からのプログラミングであり、C言語のようなプロシージャ指向のプログラミングではありません。OOPは、オブジェクトに基づいてコードを分割することによって実装されます。
5.캡슐화 패턴을 설명하시고, 왜 해야 하는지 설명해 주세요. 김채연
一つのオブジェクトを、そのオブジェクトが特定の目的のために必要とする変数またはメソッドと結合する。変数とその変数を持つ特定のアクションまたはメソッド、特定のアクションまたはメソッドを持つクラス、変数を持つクラス、その変数を持つ特定のアクションまたはメソッドを構築する
6.다형성이란 무엇이고 동적 바인딩에 대해 설명해주세요. 김채연
継承により、機能を拡張または変更できます。言い換えれば、ポリモーフィズムとは、それらが同じ形をしているが異なる機能を持っていることを意味します
7.상속이란 무엇인가요? 장제근
既存のクラスをもとに新しい別のクラスを作成し、既存のクラスの機能を受け継がせることを継承(inheritance)といいます。
8.상속에 대해 개발하면서 느낀점을 말해주세요. 장제근
(1)上位クラス機能にバグが生じたり、機能の追加/変更などで変化が生じた場合、
上位クラスを継承する下位クラスが正常に動作できるかどうかの予測が難しい。
- 下位クラスは上位クラスの部分集合であるため
(2)相続構造が複雑になるほど、その影響の予測が難しくなる
(3)上位クラスで意味のあった機能が下位クラスでは意味のない機能である可能性がある
(4)下位クラスは必ず上位クラスから受け継いだ機能を提供しなければならない
+下位クラスで機能が追加される- 機能の拡張により上位クラスから派生したクラスが多くなり、その規模が大きくなるにつれて一貫性を持って作成していないクラスに対する理解度は次第に複雑になり、使用が難しくなることもある
9.class와 interface에 대해 설명해주세요. 장제근
クラスとインターフェイスはオブジェクト指向プログラミングで使用し、クラスとインターフェイスの違いは、classはオブジェクトをインスタンス化する参照タイプであり、interfaceはオブジェクトをインスタンス化するために使用できない参照タイプだということです。 Classは多くのinterfaceを実現できます。
10.thread란 무엇이고 thread를 구현하기 위한 인터페이스, 클래스는 어떤 것이 있나요? 유민정
Threadとは、プログラム内のもう一つのプログラムという意味であり、プログラムを複数実行して効率性を高めるのに役立ちます。 特にチャットプログラムからthreadクラスを継承させ、同時に実行する用途で使用しました。 Threadを実装するためには、Threadクラスを継承するか、Runnableインターフェイスを実装する2つの方法があります。
11.static 키워드에 대해 설명하세요. 유민정
staticは固定された意味を持っています。変数やメソッドに主に使用し、 インスタンスの生成と関係なくメモリに該当領域を初期化させ、該当領域を共有する機能を持っています。
12.오버로딩과 오버라이딩 차이점은 무엇인가여? 유민정
オーバーライディングとオーバーライディングの違いは何ですか? オーバーローディングは、同じメソッド名前でパラメータのデータタイプと個数を異なるように決めて使用することです。 データタイプと個数が同じでリターンタイプ違えばオーバーローディングではなく新(しいメソッドを定義することです。 オーバーローディングの代表的な例としては、System.out.println( )メソッドがあります。
13.추상클래스와 인터페이스에 대해 설명하시오. 안지우
インターフェースや抽象クラスは、メソッドの具体的な処理内容を記述しないことから、両者に違いはないように思えるかもしれませんが、インターフェースはクラスで共通する仕様を定義するとき、抽象クラスは他のクラスの処理の骨組みを定義するときに利用されます。
14.제넥릭은 무엇인가? 안지우
ジェネリクスとは「<>」記号で囲まれたデータ型名をクラスやメソッドに付けることで、Integer型やString型などの様々な型に対応する汎用的なクラスやメソッドを作る機能のことです。
15.배열과 ArrayList의 차이점은 무엇인가여? 안지우
「ArrayList」とは配列のように複数の要素を1つの変数にまとめて扱うためのモノです。 配列との違いは、要素数を変更するのが簡単なことです。 「ArrayList」の要素のデータ型は「Object型」でどんなデータ型でも格納できます。 ただし、要素を取り出すときにはキャストをする必要があります。
16.스택과 링크드리스트와 리스트의 차이점을 설명해 보세요. 문슬기범
Linked LinkedList リンクされたリストは、不連続に存在する(非連続的に存在する)データが相互にリンクされる形式で構成されます。 リンク先リストが削除されます(削除する要素の前の要素が、削除する要素の次の要素を参照するように変更されるだけなので、削除されます) LinkedList は新しいデータを追加するのに非常に高速です (新しい要素を作成してから、前の要素の参照を新しい要素に変更し、新しい要素を次の要素を参照するように変更するだけです) LinkedListはArrayListと比較してデータを追加/変更する際に便利です。 リストします List インターフェイスを実装するデータ構造は、ArrayList(クラス)、LinkedList(クラス)、Vector(クラス)、および Queue(インターフェイス)です。 オーダーされたデータのセットです。 データを複製できます。 スタックします クラスとして実装されているので、継承時に使用できます。 スタックには、最後に保存されたデータを最初に取り出す LIFO(Last In First Out)構造があります。 スタックは、ArrayList などのアレイベースの収集クラスに適しています。ArrayList は、データを順次追加および削除します。
17.자바 컬렉션프레임워크의 대표 인터페이스는 무엇이 있나요? 문슬기범
収集フレームワークは、特定のアルゴリズムを適用して効率的にデータ(オブジェクト)を追加、削除、および取得することによって実装されるインターフェイスです。 Collection インターフェイスには、List、Map、Set、Stack、および Que が含まれます。 各インターフェイスの特性を簡単に説明すると、リストは順序付けされ、データをインデックスとして格納および管理し、配列と同様に冗長性を実現します。 マップは、キーと値のペアで構成されたデータのセットです。キーの値は複製できませんが、値は複製できます。 セットは順序が狂っているデータのセットであり、重複は許可されません。 スタックは最後の要素が先に出てくるという特徴を持っていますが、キューは最初に入ってくるデータが先に出てくるという構造を持っています。 さらに、Deque には Stack と Queue の組み合わせフォームがあります。
18.접근제어자의 종류와 특성에 대해 성명하세요. 문슬기범
public :すべてのアクセスを許可します protected :継承関係のオブジェクトだけを許可します default :同じパッケージ(フォルダ)内のオブジェクトだけを許可します private :現在のオブジェクト内でのみ許可します
19.hashCode()값이 모두 같다면 어떤 일이 벌어질까요? 문우림
hashCode()の値が全て同じ場合、どのようなことが起こるでしょうか? hashCode()の値が同じ場合、オブジェクト固有のhashCodeを返すメソッドであるidentityHashCodeの値で比較し、オブジェクトを区分する。 また、identityHashCodeの値すら同じ場合、-1を返す。
20.Hashtable과 HashMap 차이점은 무엇인가요? 문우림
HashtableとHashMapの違いは? 重複するキーに値を格納した時の処理に違いがある。 Hashtableは同じキーに対して異なる値を2回格納すると最初に格納した値を維持するが、Hashmapは同じキーに対して異なる値を2回格納すると2回目に格納した値に上書きされる。 そしてHashtableはnullを値として格納できないが、Hashmapはキーにnullを値として格納することができる。
21.객체의 직렬화는 무엇이고 직렬화 대상이 되기 위해서 어떤 인터페이스를 구현해야 하나요? 문우림
オブジェクトの直列化とは何か、また直列化の対象になるためにはどのようなインターフェースを実装しなければならないのか? ・オブジェクトを出力ストリームに書き出すことをシリアライズまたは直列化と呼ぶ。 通常オブジェクトをそのままストリームに書き出して読み込むことができないので、読み書きできる形にデータを変換することをシリアライズ(直列化)という。 ・Javaの直列化(シリアライジェーション)とは、Javaのシステム内部で使用されるオブジェクトまたはデータを外部のJavaシステムでも使用できるようにbyteタイプにデータを変換する技術である。
22.자바로 자판기를 설계 할 때, 어떻게 설계 할 것인지 설명해 주세요. 조유성
ジャバで自動販売機を設計するには、オブジェクト指向プログラミングの概念を活用します。
まず、自動販売機の各要素をオブジェクトに分けてクラスを定義します。
各クラスにはプロパティとメソッドがあり、相互に接続できます。
これらのクラス間の相互作用を可能にするインターフェースを作り
ユーザーと自動販売機間の相互作用を可能にします。
23.라이브러리와 프레임워크의 차이점은? 조유성
ライブラリは必要なときに読み込んで使用できるツールコレクションで、
フレームワークは、アプリケーションの構造をすでに備えたツールバーです。
[WEB]
1.MVC 패턴에 대해 동작방식을 설명해 주세요. 조유성
1. MVCパターンはModel-View-Controllerの略で、 ソフトウェアデザインパターンの 1 つです。 このパターンは、アプリケーションのコードを 3 つの役割に分けて管理します。 Model:アプリケーションのデータとデータを処理するロジックを担当します。 View:ユーザーインターフェースを担当します。 コントロールラー:ModelとView間の相互作用を調整して制御します。
2.model 1과 model 2패턴의 차이를 설명해 주세요. 윤재영
ーモデル1とモデル2パターンの違いを説明してください。 モデル1はJSPやServletを使ってプログラムを開発し、そのJSPやServletが要請に対して全ての応答を処理します。開発しやさしい簡単な機能に使います。 モデル2はMVC(Model - View - Control)モデルに構成されています。 Model(モデル): データやビジネスロジックを管理する部分で、データベースやAPIなどのデータソースからデータを取得し、操作します。 View(ビュー): ユーザーに表示される部分で、HTML、CSS、JavaScriptなどのコードで構成されます。 Controller(コントローラ): ユーザーの入力を処理する部分で、ModelとViewの間で通信を行います。コントローラは、Modelからデータを取得し、Viewにデータを送信します。 プログラムの構造を分離して、開発を容易にし、保守を容易にするために設計されています。 大きなプログラムによく使います。
3.JSTL은 무엇이고 사용하는 이유는 무엇인가요? 윤재영
ーJSTLは何ですか、どうしてJSTLを使いますか? JSTLはJava サーバーページの標準タッグライブラリー(Java Server Page Standard Tag Library)の略語です。 Expression LanguageことであるELと一緒に使います。 Java EEベースのウェブアプリケーション開発プラットフォームのためのコンポーネント集。 ほかのJSPページを呼び出したり、データベース作業(CRUD)をしたり、JAVA言語で色んなことをすることができなす。
4.JSP에서 세션에 값을 저장하고 꺼내는 방법은 무엇인가요? 윤재영
ー JSPでセッションにデータ値を変数に保存し、もたらす方法は? セッションにデータを保存するためにはsetAttributeメソッドを、 セッションに入っているデータをもたらすためにはgetAttributeメソッドを使います。
5.jsp에서 한글이 깨지는 문제가 발생시 어떻게 해야 하나요? 소순영
JSPでハングルが文字化け問題が発生した場合、どうすればいいですか? ファイルのエンコード方式と、ウェブブラウザが使用するエンコード方式が異なって現れる問題です、1 つのエンコード方式を採択して解決することができます。
6.JSP는 무엇인가여? 소순영
Java Sever Pageの頭文字で、 HTMLにJAVAコードを入力して動的ウェブページを生成するウェブアプリケーション道具です。JSPが実行されると、ジャワサーブレットに変換され、ウェブアプリケーションサーバで動作され、必要な機能を遂行して、生成されたデータをウェブページとともにクライアントで回答する。
7.Servlet이란 무엇인가요? 소순영
クライアントの要請を処理し、その結果を返すServletクラスの実装規則を守ったジャワウェブプログラミング技術です。 一般的にウェブサーバーは静的なページだけを提供するが、動的なページを提供するためにServletを使用します。
8.ajax 란 무엇인가요? 권단비
ajaxとは何ですか?
Asynchronous JavaScript And XML web pageがloadされた後に、web serverからデータを読み込むことができる。
ページをreloadせず、web pageをupdateできる。
backgroundからweb serverにデータを送信できる。
9.RESTful은 무엇이라고 생각하시나요? 권단비
Webに存在するすべてのリソース(画像,動画DBリソースなど)に固有URIを付与して活用することで、 リソースを定義し、リソースに対するアドレスを指定する方法論を意味します。 一つのURIは、一つの固有リソースを代表するように設計されるという概念で、 転送方式を結合して目的の作業を指定します。 URI設計時の注意事項は下記のとおりです。 ・URI経路には大文字より小文字を、動詞よりは名詞を使う。 ・スラッシュ(/)は階層関係を示すのに使用する。 ・URIの最後の文字の後ろにスラッシュ(/)を含まない。 ・アンダーバー(_)の代わりにハイフン(-)を使う。 ・行為とファイル拡張子を含まない。 通常CRUDの機能をPOST方式のみで処理するのではなく、 CreateはPOST, ReadはGET, UpdateはPUT・PATCH, DeleteはDELETEにマッチングさせて予測ができるようにします。 ただし、これは標準規約ではなく一種の約束であり、 人によって、機関によって、作成方式に差がある可能性があるという短所があります。
10.쿠키와 세션의 차이 권단비
クッキーとセッションの違い SessionとCookie使用理由 現在私たちがインターネットで使用しているHTTPプロトコルは接続指向的な性格を捨てたため、 新しいページを要請するたびに新たなアクセスが行われ、前のページと現在のページとの関係が持続しない。 これにより、HTTPプロトコルを利用するWeb Siteでは、Webページに特定の訪問者が滞在している間、 その訪問者の状態を継続させるためにクッキーとセッションを利用する。 Session - 特定Web Siteでユーザーが滞在する期間または1人のユーザーの一回の訪問を意味する。 - セッションに関連するデータはサーバーに保存される。 - Web Browserのキャッシュに保存され、ブラウザを閉じたり、サーバーから削除したら消える。 - Cookieに比べてセキュリティが良い。 Cookie - ユーザ情報を維持できないHTTPの限界を克服する方法 - インターネットWeb Siteの訪問記録を残し、ユーザーとWeb Siteの間を媒介する情報。 - Cookieは、インターネットユーザーが特定のウェブサーバーに接続する際に作成される個人IDとパスワード、訪問したサイトの情報を込めた臨時ファイルで、 サーバーではなく、Client側にテキストファイルとして保存され、次に該当ウェブサーバーを訪れる時、 ウェブサーバーでは該当ユーザーが誰なのか、どのような情報を主に検索したかなどを把握する時に使用される。 - Cookie はClient PC に保存される情報であるため、他のユーザによって任意に変更が可能である。(情報漏洩可能、Sessionよりセキュリティが低い理由) Q.セキュリティの低いCookieの代わりにSessionを使えばいいのに、なぜ使わないのか? A.すべての情報をセッションに保存すると、サーバーのメモリが過剰に使用され、サーバーに無理が生じる
11.Get/Post 전송방식의 특징을 말해 주세요. 강한별
GetとPostの違い
GET方式はブラウザアドレスに送信されるデータが見られるためセキュリティ性が弱いです。
POST方式より伝送速度は速いので、個人情報ではない場合は活用できます。
POST方式は、データをアドレスウィンドウに露出していない状態で配信され、セキュリティが良いです。
しかし、GET方式より遅いです。
12.jquery를 사용한 후 느낀 점은 무엇인가요? 강한별
jQueryを使用した後に感じたことは何ですか?
JQueryはDOMを楽に使うことができると感じました。
document.getElementsByName('name') が $('name') に減るなど、DOM 操作が簡単です。
[Spring Framework]
1. 스프링 프레임워크의 특징에 관해 설명해 주세요 강한별
Spring Frameworの特徴について説明してください
Spring Frameworkの特徴はオープンソースなので無料で、Javaを使用して個体指向であり、シングルトンアーキテクチャでコンポーネントのインスタンスが1つだけ生成され、その1つだけが参照されます。
また、依存性注入でコンポーネントやライブラリを簡単に管理できます。
2.DI란 무엇인가요? 권혁현
DIはDependency Injectionの略語で依存関係注入という。
DIはオブジェクトが依存するもう一つのオブジェクトを外部から宣言し、これを注入されて使用することだ。
これを具現することで得られる長所としてはUnit Testが容易になり、コードのリサイクル性が高くなる。
また、オブジェクト間の依存性(従属性)を減らしたりなくすことができ、オブジェクト間の結合度を下げながら柔軟なコードを作成できるようになる。
3.자동으로 DI해주는 어노테이션은 어떤 것들이 있나요? 권혁현
依存注入時にタイプ一致するBeanがない場合、@Autowiredアノテーションをフィールドやsetterメソッドに付けると
スプリングコンテナはタイプが一致するBeanオブジェクトを探して注入してくれる。
@Autowired依存注入時タイプ一致するBeanが2つ以上の場合→@Qualifierアノテーション使用
4.AOP란 무엇이고 어드바이스 종류를 말해주세요. 권혁현
AOPはAspect Oriented Programmingの略で、「観点指向プログラミング」と呼ばれる。
OOPを補完する手段として、様々な場所で使われる共通機能をモジュール化し、使用先に必要な時につなげることで、
メンテナンスあるいは再利用が容易になるようプログラミングすることだ。
重複するコード除去、効率的なメンテナンス、高い生産性、リサイクル性極大化、変化受容が容易だという長所がある。
アドバイスの種類
代表的なアドバイスとしては@Aroundが使われますが、その他にも他のアドバイスが存在します。
@Around
メソッド呼び出しの前後に実行されるアドバイスで、最も強力です。
調印ポイントの実行可否と、実行回数、返却値の変換と例外変換などの様々な処理が可能です。
@Before
ジョインポイント実行前に実行されるアドバイスです。
@AfterReturning
調印ポイントが正常に完了した後に実行されます。
ただし、@Aroundとは異なり、値を返すオブジェクトを変更することはできません。 (操作は可能です。)
@AfterThrowing
ジョインポイントが例外を投げた場合に実行されます。
@After
調印ポイントが正常に完了したか、例外を投げても関係なく実行されます。
5.springMVC 동작방식을 설명해 주세요. 김은지
springMVCの動作方式を説明してください
1. DispatcherServletがブラウザからリクエストを受ける。 2. DispatcherServletは、要求されたURLをHandlerMappingオブジェクトに渡し、呼び出すべきController メソッド(ハンドラー)情報を得る。 3. DispatcherServletがHandlerAdapterオブジェクトをインポートする。 4. HandlerAdapterオブジェクトのメソッドを実行する。 ※ より正確に表現すると、Handler MappingはDispatcher Servletから伝達されたURLに基づいてHandler Adapterオブジェクトを含むHandler ExecutionChainオブジェクトを生成し、その後Dispatcher ServletがHandler ExecutionChainオブジェクトからHandler Adapterオブジェクトを取得して該当メソッドを実行する。 5. Controller オブジェクトはビジネスロジックを処理し、その結果に基づいてビュー(ex.JSP)に伝達するオブジェクトをModelオブジェクトに保存する。 Dispatcher Servletにview nameをリターンする。 6. Dispatcher Servletは、view nameをView Resolverに伝達してViewオブジェクトを得る。 7. DispatcherServletは、Viewオブジェクトに画面表示を依頼する。 8. Viewオブジェクトは該当するビュー(ex.JSP, Thymeleaf)を呼び出し、ビューはModelオブジェクトから画面表示に必要なオブジェクトを持ってきて画面表示を処理する。
[Oracle DB]
1.데이터베이스란 무엇이고 장단점은 무엇인가요? 김은지
データベースとは何で、長所と短所は何ですか?[데이터베이스란 무엇이고 장단점은 무엇인가요? ] データベースとは、構造化した情報またはデータの組織的な集合であり、 通常はコンピューター・システムに電子的に格納されています。 データベースは通常、データベース管理システム(DBMS)で制御します。 データとDBMS、およびそれらに関連するアプリケーションをまとめてデータベース・システムと呼びます。 多くの場合は単にデータベースと呼んでいます。 長所 1. 大量のデータをコンパクトに保管ができる 2. DBMSで簡単・スピーディにデータを参照できる 3. データを安全に保管できる 短所 1.DBMSを使用するためのコストがかかります 2. sqlについて説明してください。 [sql에 대해 설명해주세요.] SQLは、データをクエリ、操作、定義するほか、アクセス制御を提供するためにほとんどすべてのリレーショナル・データベースで使用されているプログラミング言語です。 SQLは、Oracleを主な協力組織として1970年代にIBMで最初に開発され、SQL ANSI標準の発行に結実しています。 それ以来、IBM、Oracle、Microsoftなどの組織がSQLから多くの拡張機能を作り出してきました。 SQLは現在でも広く使用されていますが、新しいプログラミング言語も登場し始めています。
2.sql에 대해 설명해주세요. 김은지
SQLは、データをクエリ、操作、定義するほか、アクセス制御を提供するためにほとんどすべてのリレーショナル・データベースで使用されているプログラミング言語です。 SQLは、Oracleを主な協力組織として1970年代にIBMで最初に開発され、SQL ANSI標準の発行に結実しています。 それ以来、IBM、Oracle、Microsoftなどの組織がSQLから多くの拡張機能を作り出してきました。 SQLは現在でも広く使用されていますが、新しいプログラミング言語も登場し始めています。
3.DDL , DML, DCL의 역할과 구문 예를 들어 설명하세요. 조준성
4.트랜잭션이란 무엇인가여? 조준성
5.기본키와 외래키에 대해 설명해주세요. 조준성
6.where과 having의 차이는 뭔가요? 정민섭
7.Group by 란 무언인가요? 정민섭
8.Inner Join 과 Outer Join 의 차이점에 대해 설명하세요. 정민섭
9.제약조건은 어떤 것이 있는 지 말해보세요. - 추후 발표.