java

JDBC 인터뷰를 준비하려면 데이터베이스 연결, 성능 튜닝 및 보안 모범 사례를 깊이 이해해야 합니다. 다음 50개 질문은 채용 담당자가 우선시하는 핵심 개념과 실제 시나리오를 다룹니다.
👉 무료 PDF 다운로드:JDBC 인터뷰 질문 및 답변
JDBC(Java Database Connectivity)는 Java 프로그램이 관계형 데이터베이스와 상호 작용할 수 있게 해주는 핵심 API입니다. SQL 실행, 결과 처리 및 트랜잭션 제어를 표준화하여 개발자가 최소한의 변경만으로 MySQL, Oracle, PostgreSQL 등을 전환할 수 있는 데이터베이스에 구애받지 않는 코드를 작성할 수 있습니다.
Class.forName("com.mysql.cj.jdbc.Driver") Connection 설립 DriverManager을 통해 또는 DataSource .Statement 만들기 , PreparedStatement 또는 CallableStatement .ResultSet 처리 해당되는 경우.try‑with‑resources 선호) ).conn.setAutoCommit(false) conn.commit(); 실패 시 conn.rollback() .자금 이체와 같은 원자적 작업에 이 패턴을 사용하세요.
HikariCP 및 Apache DBCP와 같은 프레임워크는 업계 표준입니다.
execute() :모든 SQL; boolean를 반환합니다. ResultSet인지 표시 생산됩니다.executeQuery() :SELECT 문; ResultSet을 반환합니다. .executeUpdate() :삽입, 업데이트, 삭제; 영향을 받은 행 수를 반환합니다.PreparedStatement 사용 사전 컴파일을 위해.addBatch()/executeBatch()를 통한 일괄 업데이트 .PreparedStatement ps = conn.prepareStatement("INSERT INTO student VALUES(?,?)");
for(int i=1;i<=1000;i++){
ps.setInt(1,i);
ps.setString(2,"Name"+i);
ps.addBatch();
}
ps.executeBatch(); 왕복 횟수를 줄이고 처리량을 높입니다.
ResultSet은 쿼리 결과를 보유합니다. 생성 플래그에 따라 앞으로만 가능하거나 스크롤 가능하거나 업데이트 가능합니다.
conn.setAutoCommit(false);
Savepoint sp = conn.setSavepoint("sp1");
// operations
conn.rollback(sp); // partial rollback
conn.commit();
SQLException은 getErrorCode()를 제공합니다. , getSQLState() 및 getMessage() . 항상 실패 시 로그하고 롤백하세요.
여러 DML 문을 단일 왕복으로 그룹화합니다. addBatch()를 사용하세요 및 executeBatch() .
DataSource 선호 연결 풀링을 사용합니다. try‑with‑resources 사용 자동 정리를 위해.
PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.executeUpdate(); ResultSet rs = ps.getGeneratedKeys();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT * FROM EMPLOYEE");
rs.absolute(3);
rs.updateString("name", "UpdatedName");
rs.updateRow(); for(int i=1;i<=5;i++){
ps.setInt(1,i);
ps.setString(2,"Student"+i);
ps.addBatch();
}
ps.executeBatch(); DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("DB: " + dbmd.getDatabaseProductName()); try (Connection c = ds.getConnection();
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM EMPLOYEE")) {
while(rs.next()){ /* process */ }
} CallableStatement cs = conn.prepareCall("{call getEmployeeSalary(?)}");
cs.setInt(1,101);
ResultSet rs = cs.executeQuery(); 초기화 시 풀은 고정된 연결 세트를 생성합니다. 연결 대여를 요청합니다. 사용 후 이를 반환하고 리소스를 메모리에 유지합니다.
HikariConfig cfg = new HikariConfig();
cfg.setJdbcUrl("jdbc:mysql://localhost:3306/testdb");
cfg.setUsername("root");
cfg.setPassword("pw");
cfg.setMaximumPoolSize(10);
HikariDataSource ds = new HikariDataSource(cfg); Class.forName() 누락 (Java9 이전).PreparedStatement을 사용하세요. 매개변수를 사용합니다.logger=com.mysql.cj.log.StandardLogger ). Connection 공유하지 마세요 스레드 간 개체
스프링의 JdbcTemplate 상용구, 예외 번역, 연결 풀링을 자동으로 처리합니다.
javax.sql.XADataSource 사용 JTA 관리자(Atomikos, Bitronix, Spring)ResultSet 닫기 , Statement , Connection try-with-resources를 통해.for(int i=0;i<3;i++){
try(Connection c=ds.getConnection()){ break; }
catch(SQLTransientConnectionException e){ Thread.sleep(1000*(i+1)); }
} DataSource 사용 풀링으로.PreparedStatement 선호 .다음은 면접관이 기대하는 것과 강력한 예시 답변이 포함된 신중하게 만들어진 10가지 JDBC 면접 질문입니다.
예상 답변: JDBC는 데이터베이스 액세스를 위한 Java API입니다. SQL 실행, 결과 처리 및 트랜잭션을 추상화하여 데이터베이스에 구애받지 않는 코드를 활성화합니다.
예상 답변: 네 가지 유형:JDBC‑ODBC 브리지, 기본 API, 네트워크 프로토콜, 씬 드라이버. Type4는 오늘날 가장 일반적입니다.
예상 답변: HikariCP와 같은 연결 풀을 사용하십시오. 요청마다 연결을 열거나 닫지 마세요.
예상 답변: 명령문 - 정적 SQL; preparedStatement – 매개변수화되어 주입을 방지합니다. CallableStatement – 저장 프로시저.
예상 답변: 문자열 연결을 preparedStatement로 대체하고 풀링을 도입했으며 일괄 삽입을 사용했습니다. 응답 시간이 40% 단축되었습니다.
예상 답변: ReadyStatement를 사용하세요. 입력 유효성을 검사합니다. DB 권한을 제한하세요.
예상 답변: URL, 자격 증명, 네트워크, 드라이버 jar를 확인하세요. 로그 검토 잘못 구성된 포트를 수정하세요.
예상 답변: 자동 커밋을 비활성화하고, 작업을 수행하고, 결과에 따라 커밋 또는 롤백합니다. ACID 준수를 보장합니다.
예상 답변: 대량 삽입에 대한 일괄 처리를 구현하여 시간을 몇 분에서 몇 초로 단축했습니다.
예상 답변: 영향을 평가하고, 명확하게 전달하고, 영향이 큰 항목을 먼저 처리하고, SLA를 충족하기 위해 협력하세요.
java
손목 핀이라고도 하는 거전 핀은 내연 기관의 중요한 구성 요소입니다. 커넥팅 로드와 피스톤 사이에 연결을 생성합니다. Gudgeon 핀은 커넥팅 로드, 휠 또는 크랭크와 함께 사용할 수도 있습니다. 일반적으로 영국에서는 거전 핀이라는 용어가 사용되지만 미국과 캐나다에서는 손목 핀이라는 용어가 선호됩니다. 많은 제조업체에서 마모된 핀을 교체하기 위해 거전 핀을 생산합니다. 이 엔진 구성 요소는 일반적으로 단조 강철로 만들어진 짧은 튜브로 구성됩니다. 엔진이 작동하는 동안 거전 핀에 엄청난 힘이 가해집니다. 매우 짧은 시간 내에 수천
오늘 이 기사에서는 전자빔 용접기에 대한 심층적인 개요를 제공하겠습니다. . 이 용접 공정은 1949년 독일의 물리학자인 Karl-Heinz Steigerwald에 의해 처음 개발되었습니다. 이 기사에서 먼저 정의, 작동 방식을 살펴본 후 EBW 머신의 응용 프로그램, 장점 및 제한 사항도 보여 드리겠습니다. 그러니 더 지체하지 않고 바로 기사로 넘어가겠습니다. 전자빔 용접이란 무엇입니까? 전자빔 용접은 두 개의 유사하거나 다른 금속을 열을 사용하여 접합하고 고에너지 전자에 의해 열을 발생시키는 액체 상태 용접 공정입니