아리 면접 경력
3969 단어 면접 시험
하나.면접 코드 평가
** 1.상세한 면접을 평가할 때 면접관은 먼저 두 개의 필기문제를 냈고 모두 20분을 주어 코드를 쓰게 했다.1. LRU 탈락 알고리즘을 설계하고 Least Recently Used (LRU) 의 캐시 대상을 실현한다. get과put 조작 get은cache에 있는 키에 대응하는value를 가져오는 데 사용되며, 이 키가 존재하지 않으면 -1put으로 돌아가 업데이트하거나 삽입하거나 데이터를 업데이트한다.캐시가 용량 상한선에 도달했을 때, 다른 자주 사용하지 않는 키와value를 삭제한 다음, 새로운 키와value 2, 두 갈래 트리를 삽입하여 두 갈래 트리를 반전시킨다. 즉, A/\B C를 A/\C B로 바꾸는 것이다.상기 두 문제를 분석한 것은 비교적 간단한데 주로 코드 규범과 손으로 쓴 코드 능력을 고찰한 것이다.명성이 자자한 맥스 허웰은 구글 면접에서도 "우리 엔지니어의 90퍼센트가 당신이 쓴 소프트웨어(Homebrew)를 사용하지만 면접에서 백판에 두 갈래 나무를 뒤집는 문제를 쓰지 못해 큰일났다"고 야유를 받았다.그래서 핸드폰 코드의 능력을 강화해야 한다. 대기업에 대한 기대가 있다면.2. 코드 결과 2.1 LUR 제거 알고리즘
public class LRUCache extends LinkedHashMap<Integer,Integer> {
private static final long serialVersionUID = 1L;
private int max;
public LRUCache(int capacity) {
super(capacity,1,true);
this.max=capacity;
}
public int get(int key) {
if(!this.containsKey(key)){
return -1;
}
return super.get(key);
}
public void put(int key, int value) {
super.put(key, value);
}
@Override
protected boolean removeEldestEntry (Map.Entry eldest) {
return size() > LRUCache.this.max; }
}
2.2 두 갈래 나무 뒤집기
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode invertTree(TreeNode root) {
if(null==root){
return null;
}
TreeNode temp=root.left;
root.left=invertTree(root.right);
root.right=invertTree(temp);
return root;
}
}
둘.면접 문답
1. 자신이 만든 대표적인 프로젝트를 개술한다.면접을 보기 전에 반드시 한 항목에 대해 상세한 회고를 하고 가능한 한 조리가 명확하고 논리가 명확해야 한다고 충고합니다.2. 사용하는 기술, 왜 이 기술을 사용하는가.프로젝트에서 사용하는 기술, 예를 들어 웹소켓 등은 어느 정도 이해하고 우열을 분명히 해야 한다.3. 업무 중에 겪었던 기술적 문제를 어떻게 해결했는가.대표적인 문제, 어떻게 만났는지, 어떻게 해결했는지, 해결 방법의 개요.4. 사용하는 데이터베이스, 저장 엔진.인덱스 사용 여부, 캐시 관련 (redis) 문제 데이터베이스 관련 인덱스, 최적화 등은 자주 묻는다. 평소에 세부 사항에 주의해야 한다.낙관적 자물쇠와 비관적 사상, 낙관적 자물쇠hashmap 관련 중 가장 중요한 것은 7.jvm 메모리 모델 관련,gc 관련.가장 중요하다이번 면접에서 보여주지 못한 장점은 이 문제에 대해 어떻게 대답해야 할지 잘 생각해야 한다는 것을 진술해 보세요.
이 노트만 나중에 참고하기 편리하다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LintCode - 순차적으로 숫자를 인쇄합니다.1에서 최대 N까지의 정수를 반복하는 방법으로 찾습니다. 예제 제시N = 1, 반환[1,2,3,4,5,6,7,8,9]. 제시N = 2, 반환[1,2,3,4,5,6,7,8,9,10,11,...,99]. 주의 다음과 같...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.