Huizhi Communication 필기 테스트 요약
1. Hibernate의 세 가지 상태:
Hibernate 객체에는 세 가지 상태, 즉 Transient(Transient), 지속적, 분리됨.
2. 앞, 중간, 뒤 순서
선주문 순회, 루트 왼쪽 및 오른쪽
중순 순회, 왼쪽 루트 오른쪽
후위 순회, 왼쪽 및 오른쪽 루트
3. 데이터베이스 트랜잭션의 개념 및 특성.
데이터베이스 트랜잭션은 단일 논리적 작업 단위로 수행되는 일련의 작업을 의미합니다.
논리적 작업 단위가 트랜잭션이 되려면 소위 ACID(원자성, 일관성, 격리성 및 내구성) 속성을 충족해야 합니다.
4.
문제 정의, 타당성 조사, 요구 사항 분석, 전체 설계, 세부 설계, 코딩 및 단위 테스트, 종합 테스트, 소프트웨어 유지 관리
5.
1. 요청 객체
요청 객체에는 클라이언트의 요청 정보가 캡슐화되어 있으며, 이를 통해 고객의 요구 사항을 파악하고 응답할 수 있습니다. HttpServletRequest 클래스의 인스턴스입니다.
2. 응답 객체
응답 객체에는 고객 요청에 대한 응답 관련 정보가 포함되어 있지만 JSP에서 직접 사용되는 경우는 거의 없습니다. HttpServletResponse 클래스의 인스턴스입니다.
3. 세션 객체
세션 객체는 클라이언트와 서버 사이의 세션을 의미하며, 클라이언트가 서버와 연결이 끊길 때까지 클라이언트를 서버에 연결하는 WebApplication에서 시작됩니다. .
4. out 객체
out 객체는 클라이언트에 콘텐츠를 출력하기 위해 일반적으로 사용되는 JspWriter 클래스의 인스턴스입니다.
5, 페이지 객체
페이지 객체는 현재 JSP 페이지 자체를 가리키며 클래스의 this 포인터와 약간 유사하며 java.lang.Object의 인스턴스입니다. 클래스
6. 애플리케이션 객체
p>애플리케이션 객체는 사용자 간의 데이터 공유를 실현하고 전역 변수를 저장할 수 있습니다. 서버 시작부터 서버 종료까지 이 개체는 항상 존재하므로 사용자의 이전 및 후속 연결 또는 다른 사용자 간의 연결에서 이 개체의 동일한 속성이 작동될 수 있습니다. 이 개체의 속성에 대한 작업은 해당 개체에 대한 다른 사용자의 액세스에 영향을 미칩니다. 서버의 시작과 종료는 애플리케이션 개체의 수명을 결정합니다. ServletContext 클래스의 인스턴스입니다.
7. 예외 객체
예외 객체는 페이지 실행 중에 예외가 발생하면 생성되는 객체입니다. JSP 페이지가 이 객체를 사용하려면 isErrorPage를 true로 설정해야 합니다. 그렇지 않으면 컴파일할 수 없습니다. 이는 실제로 java.lang.Throwable의 객체입니다.
8. pageContext 객체
pageContext 객체는 JSP 페이지의 모든 객체와 네임스페이스에 대한 액세스를 제공합니다. 이 페이지가 있는 SESSION에 액세스하거나 이 페이지가 있는 애플리케이션의 특정 속성 값을 사용할 수 있습니다. 이는 페이지의 모든 기능의 정점과 동일하며 해당 클래스 이름은 pageContext라고도 합니다.
9. 구성 객체
구성 객체는 JSP 엔진이 초기화될 때 서블릿에 정보를 전송하는 데 사용됩니다. 이 정보에는 서블릿이 초기화될 때 사용되는 매개변수가 포함됩니다. 속성 이름 및 속성 값을 통해) 및 서버 관련 정보(ServletContext 객체 전달)
6. 데이터 중복성
데이터 중복성: 데이터 세트의 중복 데이터를 데이터 중복성이라고 합니다. .
데이터 중복 기술은 하나 이상의 추가 드라이브 세트를 사용하여 데이터 복사본을 저장합니다. 예를 들어 미러링은 데이터 중복 기술입니다.
데이터 이중화 기술. 산업용 제어 소프트웨어 개발에 있어서 이중화 기술은 시스템의 장기적 안정적인 작동을 보장하는 가장 중요한 기술 중 하나입니다. OPC 기술을 사용하면 소프트웨어 중복성을 보다 쉽게 달성할 수 있으며 개방성과 상호 운용성이 향상됩니다. 이러한 상황은 디스크를 구울 때 일부 데이터가 잘못 기록되었기 때문에 발생합니다. 디스크가 광학 드라이브와 호환되지 않거나 광학 드라이브가 물리적으로 손상되어 읽을 수 없을 수도 있습니다. CRC(Cyclic Redundancy Check)는 데이터에 대해 다항식 계산을 수행하고 그 결과를 프레임 뒷면에 첨부하는 데이터 전송 오류 감지 기능입니다. 수신 장치도 유사한 알고리즘을 수행하여 데이터 전송의 정확성과 무결성을 보장합니다. . CRC 검사에 실패하면 시스템은 반복적으로 데이터를 하드 디스크에 복사하고 무한 루프에 빠지게 되어 복사 프로세스가 완료되지 못하게 됩니다.
데이터 중복의 목적:
데이터 중복은 데이터 애플리케이션의 특정 목적을 위해 채택됩니다.
1. 데이터 손실을 방지하기 위해 데이터를 반복적으로 저장하거나 전송합니다.
2. 데이터 손실 및 오류를 방지하기 위해 데이터를 중복 코딩하고, 잘못된 데이터를 역변환하여 원본 데이터를 얻는 기능을 제공합니다.
3. 프로세스 단순화로 인한 데이터 중복. 예를 들어, 동일한 정보를 여러 대상으로 보내고, 데이터를 분석하지 않고 동일한 정보를 여러 위치에 저장하면 작업 부하가 줄어듭니다.
4. 처리 속도를 높이기 위해 동일한 데이터가 다른 위치에 저장됩니다. 예를 들어, 동일한 정보의 다른 내용이 병렬로 처리될 수도 있고, 동일한 정보가 다른 방식으로 처리될 수도 있습니다.
5. 처리를 용이하게 하기 위해 동일한 정보가 위치에 따라 다른 형태로 표현됩니다. 예를 들어, 다양한 언어로 된 책 버전이 있습니다.
6. 대량의 데이터 인덱싱. 일반적으로 데이터베이스에서 자주 사용됩니다. 목적은 4번 항목과 유사합니다.
7. 방법형 정보 중복성: 예를 들어 모든 운전자는 동일한 도시에서 유사한 운영 체제나 소프트웨어가 설치된 다수의 기본 교통 정보를 기억해야 합니다.
8. 완전성을 위한 중복 데이터. 예를 들어, 사전에는 많은 단어가 있지만 우리는 그 중 몇 가지만 쿼리합니다. 소프트웨어에는 많은 기능이 있지만 우리는 그 중 일부만 사용합니다.
9. 정기적인 중복. 법률, 시스템, 규칙 및 기타 제약 사항에 따라 수행됩니다. 예를 들어 계약서에는 패턴화된 내용이 많이 들어있습니다.
10. 기타 목적을 위한 중복. 예를 들어, 주의를 끌기 위해 정보를 반복하는 것 등입니다.
데이터 중복이나 정보 중복은 생산과 생활에서 피할 수 없는 행위이며, 전체적으로 좋은 경향이나 나쁜 경향은 없습니다.
자연은 물질적 존재의 형태이자 객관적 존재의 형태이다. 예를 들어, 모든 사람은 본질적으로 다른 모든 사람과 동일한 유전자를 가지고 있습니다.
7.CGI
CGI의 전체 이름은 "공통 게이트웨이 인터페이스"입니다. HTTP 서버는 귀하의 프로그램이나 다른 컴퓨터의 프로그램과 "대화"합니다. 네트워크 서버에서 실행됩니다.
Common Gate Interface는 다소 전문적으로 들리므로 CGI라고 부르겠습니다. 물리적으로 CGI는 서버에서 실행되고 클라이언트의 HTML 페이지에 대한 인터페이스를 제공하는 프로그램입니다. 이것은 이해하기 쉽지 않을 수도 있습니다. 이제 실제적인 예를 살펴보겠습니다. 이제 대부분의 개인 홈페이지에는 방명록이 있습니다. 방명록은 다음과 같이 작동합니다. 사용자는 먼저 고객 필드에 이름 등과 같은 일부 정보를 입력합니다.
그런 다음 사용자가 "메시지 남기기"를 클릭하면(지금까지 작업은 클라이언트에서 수행되었습니다) 브라우저는 서버의 CGI 디렉토리에 있는 특정 cgi 프로그램에 정보를 보내고 cgi 프로그램은 다음과 같이 서버에서 처리됩니다. 미리 정해진 방법. 이 예에서는 사용자가 제출한 정보가 지정된 파일에 저장됩니다. 그런 다음 cgi 프로그램은 요청된 작업이 종료되었음을 나타내는 메시지를 클라이언트에 보냅니다. 이때 사용자는 브라우저에 "메시지가 종료되었습니다"라는 단어가 표시됩니다. 모든 과정이 끝났습니다.
8. 디자인 패러다임
9. 유일한 프로그래밍 질문
제목: 99999보다 작은 양의 정수 중에서 다음 조건을 만족하는 숫자를 찾아보세요. 144,676과 같이 두 개의 동일한 숫자로 이루어진 완전제곱수입니다. C 언어로 작성되었습니다(숫자를 문자열로 변환할 수 없음).
#include
#include
//함수 hasamenum은 num이 조건을 충족하는지 확인합니다
int havesamenum(int num)
{
int i=0,j;
char a[10] = {0};
while(num>0)
{
j=num%10;
a[j]+=1;
num=num/10;
}
while(a[i]<=1&&i<10)
i++;
if (i<10)
1을 반환;
else
0을 반환;
}
void main(void)
{
int i,j,m;
m=(int)sqrt(99999);
for(i=1;i { j=i*i; if (1==havesamenum(j ) ) printf("%6d\t",j); } }