2019 경동의 면접 문제(뉴커)
6170 단어 면접 문제 기록
1. 증분 모델
, , 、 、
2, 값 유형 및 참조 유형
, , , , 。
3. 어떻게 여러 라인에서 자물쇠가 사라지는 것을 피합니까?
。
4. 귀속법
프로그램 구조가 더욱 간결하고 CPU의 처리 시간을 많이 차지하며 대량의 메모리 공간을 소모하고 프로그램의 집행이 느리며 심지어 귀속법을 집행할 수 없으며 추이법의 집행 효율보다 낮다
5. 문자열 ABCD와 문자열 DCBA를 비교하고 비교 결과가 사실일 경우 관계 연산자를 선택합니다.
<
설명:
인코딩 값에 따라 비교하다.java 문법상 허용되지 않음
6. 이미 알고 있는 작은 더미: {51,32,73,23,42,62,99,14,243943,58,65,80120}, 62 대응 노드의 왼쪽 노드는
65
7、만약 S="UP!UP!"JD"는 하위 문자열의 수입니다.
8개의 문자열 공식 n(n+1)/2+1로 하위 문자열'bc'를'a|bc|de'로 추상화할 수 있다. 그러면 하위 문자열의 수를 계산하는 문제는 문자열의 경계를 계산하는 문제로 바뀐다. 한 길이가 n인 문자열에 n개의 경계를 놓을 수 있고 첫 번째 경계를 놓은 후에 n-1의 선택을 두 번째 경계로 할 수 있다. 이렇게 하면 n(n-1)의 경계를 얻을 수 있다.또 두 경계의 순서가 서로 바뀌어 서브열이 변하지 않기 때문에 결과는 2로 나누고 마지막에 문자열 자체를 더하여 n(n+1)/2+1을 얻어야 한다.
그래서 8*9/2+1=37
8. 두 갈래 나무의 잎 노드는 5개이고 출도 1의 결점은 3개이다. 이 두 갈래 나무의 결점 총 개수는?
잎 노드 개수 = 5, 잎 노드 개수 = 도 2의 결점 개수에 1을 더하기 때문에
도 2의 결점 개수 = 5-1=4,
도 1의 결점 개수 = 3,
그래서 총 개수=5+4+3=12
9. 한 번 끝나고 원소의 최종 위치를 정할 수 있는 정렬 방법은
단순 선택 정렬, 빠른 정렬, 거품 정렬, 무더기 정렬
10. 권한값은 각각 9, 3, 2, 8의 결점으로 하프만 나무를 구성하는데 이 나무의 권한이 있는 경로의 길이는?
1. 결점 정렬, 2, 3, 8, 9
2, 2, 3의 부 노드는 5(2+3의 권한)
3, 8은 2와 3보다 크고 8과 5로 구성되며 부모 노드는 13이다
4, 9는 2, 3, 8, 9, 13보다 크고 부모 노드는 22이다
5. 대역권 경로의 길이를 계산한다. 결점의 대역권 경로의 길이는 뿌리 결점에서 이 결점까지의 경로 길이와 이 결점의 권의 곱셈이다.
32+33+28+19=40
11. 후퇴 N 프레임 프로토콜의 발송 창 크기는 ()이고 수신 창 크기는 ()입니까?
슬라이딩 창 프로토콜
1. 대기 협의를 중지하고 발송 창=1, 수락 창=1;
2. N프레임 프로토콜을 뒤로 물러나 발송>1, 수신=1;
3. 재전송 프로토콜을 선택하여 발송>1, 접수>1;
12. 경동상점의 고유량 방문에 대해 Ddos를 예방하는 방법은 무엇입니까?
세 번의 악수 과정에서 서버가 SYN-ACK를 보낸 후 클라이언트로부터 ACK를 받기 전의 TCP 연결을 반연결(half-open connect)이라고 한다.이 때 서버는 SYN 입니다.RECV 상태.ACK를 받으면 서버가 ESTABLISHED 상태가 됩니다.
공격 클라이언트는 발포기를 통해 단시간 내에 대량의 존재하지 않는 IP 주소를 위조하여 서버에 SYN 패키지를 끊임없이 발송한다. 서버는 확인 패키지 SYN/ACK에 답장하고 고객의 확인을 기다린다. 원본 주소가 존재하지 않기 때문에 서버는 SYN/ACK를 시간 초과까지 계속 재발급해야 한다. 이런 위조된 SYN 패키지는 오랫동안 연결되지 않은 대기열을 차지하고 정상적인 SYN 요청은 버려지고 목표 시스템의 운행이 느리다.심각한 사람은 네트워크 막힘, 심지어 시스템 마비까지 일으킨다.
SYN 공격은 전형적인 DDOS 공격이다.SYN 공격을 감지하는 것은 매우 편리하다. 서버에서 대량의 반접속 상태를 볼 때 특히 원본 IP 주소는 무작위이기 때문에 기본적으로 이것은 SYN 공격이라고 단정할 수 있다.
13. Ext3 로그 파일 시스템의 특징
1. 고가용성: 시스템이 ext3 파일 시스템을 사용한 후 비정상적으로 꺼진 후에도 시스템은 파일 시스템을 검사할 필요가 없다.
2. 데이터의 무결성: 예기치 않은 다운타임으로 인한 파일 시스템 손상을 방지합니다.
3. 파일 시스템의 속도: ext3의 로그 기능이 디스크의 드라이브 읽기 헤더를 최적화시켰기 때문이다.따라서 Ext2 파일 시스템에 비해 파일 시스템의 읽기와 쓰기 성능이 저하되지 않았습니다.
4. 데이터 변환:'ext2 파일 시스템에서 ext3 파일 시스템으로 변환하는 것은 매우 쉽다.
5. 다양한 로그 모드
14. 데이터베이스의 모델
첫 번째 범례(1NF)는 데이터베이스 테이블의 모든 열(즉 모든 속성)은 분할할 수 없는 기본 데이터 항목이다. 같은 열에 여러 개의 값이 있을 수 없다. 즉, 실체 중의 어떤 속성은 여러 개의 값이 있을 수 없거나 중복된 속성이 있을 수 없다.요컨대 첫 번째 범례는 중복이 없는 열이다.
두 번째 범례(2NF)
두 번째 범례(2NF)는 데이터베이스 테이블의 모든 실례나 줄을 유일한 지역으로 나누어야 한다.
두 번째 패러다임(2NF)은 솔리드의 속성이 주 키워드에 전적으로 의존해야 합니다.
완전 의존이란 주 키워드의 일부분에만 의존하는 속성이 존재할 수 없다는 것을 말한다. 만약에 존재한다면 이 속성과 주 키워드의 이 부분은 분리되어 새로운 실체를 형성해야 한다. 새로운 실체와 원 실체 사이에는 일대다의 관계가 있다.
간단하게 말하면 두 번째 범례는 비주속성이 주키워드에 의존하는 것이다.
제3 범례(3NF)
두 번째 모델을 만족시키는 토대에서 전달 함수 의존이 존재하지 않는다. 그것이 바로 세 번째 모델이다.
간단하게 말하면 세 번째 범례는 속성이 다른 비주속성에 의존하지 않는다는 것이다.
15. 색인 사용 여부 판단
인덱스의 왼쪽 일치 특성
b+트리의 데이터 항목이 복합적인 데이터 구조일 때 (name,age,sex)
b+수는 왼쪽에서 오른쪽으로 검색 트리를 만듭니다.
예를 들어 (장삼, 20, F) 같은 데이터를 검색할 때
b+트리는name를 우선적으로 비교하여 다음 검색 방향을 정합니다. 만약name가 같으면age와sex를 순서대로 비교하여 검색한 데이터를 얻습니다.
그러나 (20, F)name 데이터가 없을 때 b+트리는 다음에 어느 노드를 찾아야 할지 모른다
한 마디로 하면 색인을 사용했는지 안 사용했는지 판단할 수 있다.
(인덱스에 사용)==(기준에 공동 인덱스 맨 왼쪽 접두사 필드가 나타납니다)
16.truncate,delete 삭제표 데이터의 차이
동일:
truncate table와 delete는 모두 테이블 데이터를 삭제하고 테이블 구조를 보존합니다
truncate table는 기능상 WHERE 자구가 없는 delete 문구와 같습니다. 둘 다 테이블의 모든 줄을 삭제합니다.
다름:
truncate는 delete (한 줄 한 줄 삭제) 보다 속도가 빠르고 시스템과 사무 로그 자원이 적습니다.
truncate 작업 후의 테이블은 Delete 작업 후의 테이블보다 훨씬 빠르다.ROLLBACK 명령이 있으면 Delete는 취소되고 truncate는 취소되지 않습니다.
truncate 테이블이 비어 있으면 테이블과 테이블의 인덱스를 초기 크기로 다시 설정하고 delete는 사용할 수 없습니다.
테이블 구조와 데이터를 삭제하려면drop table 문장을 사용하십시오.
일반적으로 drop > truncate > delete의 실행 속도입니다.
17. 클래스 초기화의 컴파일 기간 상수
1. 만약에 static final 변수가 **'컴파일 기간 상수'**이면 *public static final String a ='JD'와 같다.*그러면 이 값은Test2 클래스를 초기화하지 않아도 읽을 수 있습니다.
2. 단, 단지 하나의 변수의 영역을 static와final로 설정하는 것만으로는 이러한 행위를 확보하기에 부족하다.예를 들어, *public static final String a = new String("JD"); *"컴파일 기간 상수"가 아니기 때문에 Test2 클래스를 초기화합니다.
3. 만약에 static 변수 필드가final이 아니라면 그것을 방문할 때 항상 읽히기 전에 링크(이 필드에 저장 공간을 분배)와 초기화(이 저장 공간을 초기화)를 해야 한다. 마치public static String a = "JD"와 같다.
18.ClassLoader로 클래스를 불러오는 것은 클래스의 초기화를 초래하지 않는다(즉 실행 방법이 없다는 것이다).Class.forName (...) 클래스를 불러옵니다. 클래스를 불러올 뿐만 아니라, 클래스를 실행하는 초기화 방법도 실행합니다.
19. 스레드 풀 정보
Java 스레드의 Thread.라인 양보 방법말 그대로 한 라인이 이 방법을 사용한 후에 자신의 CPU가 실행하는 시간을 빼고 자신이나 다른 라인을 운행하게 된다. 자신이나 다른 라인을 운행하게 하는 것이 단순히 다른 라인에 양보하는 것이 아니라는 것을 주의해야 한다.이엘드()의 역할은 양보다.이것은 현재 스레드를'운행상태'에서'준비상태'로 진입시켜 같은 우선순위를 가진 다른 대기 스레드가 집행권을 얻도록 한다.단, 현재 라인이 yield()를 호출한 후에 같은 우선순위를 가진 다른 라인이 반드시 집행권을 얻을 수 있음을 보장할 수 없습니다.현재 라인이 다시'운행상태'로 진입하여 계속 운행할 수도 있습니다!예를 들어 한 무리의 친구들이 줄을 서서 버스를 탔는데 Yield 차례가 되자 그는 갑자기 "나는 먼저 올라가고 싶지 않다. 우리 모두 버스에 타러 오자."라고 말했다.그리고 모두가 함께 버스를 향해 돌진했다. 다른 사람이 먼저 탔을 수도 있고, Yield가 먼저 탔을 수도 있다.그러나 라인은 우선순위가 있는데, 우선순위가 높은 사람일수록 반드시 제일 먼저 탈 수 있습니까?이것은 반드시 그렇지는 않다. 우선순위가 높은 사람은 단지 첫 번째로 차에 탈 확률이 조금 높을 뿐이다. 최종적으로 첫 번째로 차에 타는 사람은 우선순위가 가장 낮은 사람일 수도 있다.그리고 이른바 우선순위 집행이란 대량의 집행 횟수에서만 나타난다.
20. Linux에 대한 권한
chmod :
a: 모두를 나타내는 u: 사용자 g: 그룹 o: 다른 사용자를 나타냅니다.
read = 4 write = 2 execute = 1
21. 셸 프로그래밍에서의 관계 연산자의 표시
EQ는 EQUAL이고 NE이고 NOT EQUAL이고 GT는 GREATER THAN이 LT보다 크면 LESS THAN이 GE보다 작으면 GREATER THAN OR EQUAL이 LE보다 크면 LESS THAN OR EQUAL이 작으면
22. Linux의 실행 파일
스크립트를 실행할 수 있는 점 슬래시, 점 공백 슬래시.
첫 번째 방식은 하위 프로세스에서 스크립트를 실행하는 것이고, 두 번째 방식은 현재 프로세스에서 스크립트를 실행하는 것이다.
현재 프로세스가 아니면 aa 변수를 볼 수 없습니다