개발자는 기록이 답이다

F-Lab 3주차 멘토링 회고 본문

F-Lab

F-Lab 3주차 멘토링 회고

slow-walker 2024. 2. 19. 15:20

 

1. F-Lab 3주차 멘토링 시작 전

 

내일이면 벌써 8주차이지만, 밀린 멘토링 회고를 해보려고 한다.

일주일간 순 평균 공부시간 6시간 30분 정도 되고, 자바의 신 2권 28장까지 읽었다.

 

멘토링 시작 전에 궁금한 점 1가지를 준비했다.

  1. 자바의 신을 보면 Serializable을 DTO랑 Entity에 꼭 구현해야한다고하는데, 나는 스프링할때 해본적이없다. 구현안해도 직렬화가 가능한건가?

자바의 신 말고도 다른 자바 기본서들 ‘자바의 정석’, ‘이것이 자바다’에서 나오는 내용들을 모두 보려고 했다.

예를 들어, 자바의 신에서는 “스레드”에 관련해서 부족하게 알려준다는 느낌이있었는데, '자바의 정석'과 '이것이 자바다'에서 설명이 더 잘되어있고, IO관련해서는 '이것이 자바다'가 제일 설명 잘되어있다. 자바 관련된 기본서는 모두 다 읽어보는게 좋은 것 같다.

 

2. F-Lab 멘토링 세번째 시간

이번에는 자료구조와 스레드 위주로 질문을 받았다.

 

자료구조 관련해서는 ArrayList를 뜯어보면서 배열이 꽉차면 동적으로 어떤일이 일어나는지 멘토링 전에도 확인했지만,

2023.12.26 - [언어/Java] - 🐙 ArrayList는 내부적으로 어떻게 동작하며, 어떤 상황에서 사용하면 좋을까?

 

🐙 ArrayList는 내부적으로 어떻게 동작하며, 어떤 상황에서 사용하면 좋을까?

알고리즘 할때 ArrayList를 자주 썼는데, 내부적으로는 어떻게 동작하는지 알아보기 위해 해당 포스팅을 작성해보려고 한다. ArrayList란? Java의 동적 배열인 ArrayList는 내부적으로 배열을 기반으로

strong-park.tistory.com

Hash에 대해서는 뭔가 어렵게만 느껴지고 내부 로직을 뜯어보질 않아서 제대로 몰랐다.

특히 HashSet이 어떻게 중복을 제거하는지 기준을 잘 몰랐었는데, 이번 기회에 확실히 알 수 있게 되었다.

 

멘토링 시간에 얻은 인사이트를 가지고 Hash관련와 관련해서 포스팅해보았다.

2024.01.21 - [언어/Java] - HashMap이 동작하는 원리를 파헤쳐보자 + putVal메소드

 

HashMap이 동작하는 원리를 파헤쳐보자 + putVal메소드

HashMap은 Map인터페이스 기반의 Hashtable 구현체라고 알려져 있다. 구글링해서 많은 자료들을 찾아봤지만, CS에서 사용하는 HashTable이라는 개념과 Java코드로 구현한 Hashtable, HashMap을 같이 엮어서 생

strong-park.tistory.com

 

자바의 정석 덕분에  스레드도 개념에 대해서는 파악했지만, 스레드 풀에 대해서는 개념이 부족했다.

질문1 : 스레드를 생성하는건 굉장한 리소스를 가지고 있는 일이다. 그렇다면 한번 만든 스레드를 재사용하기 위해서 어떤 기법을 사용하면 좋을까요?

질문 2: Executor, Executors, ExecutorService와 ThreadPool의 차이는 뭘까요?

2024.01.26 - [언어/Java] - Executor, ExecutorService, Executors 동작원리 ( + ThreadPoolExecutor 디버깅)

 

Executor, ExecutorService, Executors 동작원리 ( + ThreadPoolExecutor 디버깅)

멀티 스레드에 대해 배우면서, 스레드를 재사용할 수 있는 스레드 풀에 대해 알게 되었다. 그런데 처음 보는 클래스와 인터페이스가 많아서 정리하면서 좀 더 확실히 이해하고자 한다. 여러 배

strong-park.tistory.com

관련된 내용도 포스팅하면서 개념을 읽힐 수 있었다.

 

그동안 내가 자바에 대해서 너무 몰랐구나 생각이 들기도 하면서, 멘토링을 하면서 제일 많이 하는게 디버깅인 것 같다.

Java개발자라고 했지만 내부적으로 어떻게 동작하는지 모르고 사용했는데, 이번 기회를 통해 디버깅으로 많이 익힌 것 같다.

 

3. 멘토링 후 느낀점

 

이번 멘토링은 지금까지 했던것 보다 대답을 잘한것같다. 

 

그동안 왜 대답을 잘 못했는가 고민해봤는데, 이론을 깊게 공부하는것보다 코드치는거 위주로 멘토링 준비를 했던 것 같다.

그래서 알고 있는 개념도 말로 제대로 표현하지 못한다는 점에서 바보같은 모습을 좀 더 고쳐야겠다고 생각했다.

 

나는 스크립트를 짜놓지 않으면 제대로 말을 못하는 편이다.

그래서 미리 멘토링 전에 머리속으로 미리 정리한 내용들을 얘기했더니, 너무 빨리 대답한다는 피드백을 듣게 되었다.

저한테 대답 잘하려고 멘토링하시는거 아니잖아요. 성장하시려고 멘토링하시는거지. 
면접할때 대답을 잘하는게 중요하니까.

멘티님은 말할때 준비된것을 말하면 빨리 말하려고 하는 편이다.
사람이 외우면 말이 빨라지고 급해지거든요, 이걸 얼른 말해야 하니까.
외우셨더라도 좀 더 생각을 하는것 처럼 천천히 말씀하셔야 한다.

천천히 말씀해주셔도 되니까 천천히 말하는 것도 한 번 좀 더 연습해보시면 좋을 것 같아요. 
답변 자체는 깔끔하게 잘해주셨습니다.

너무 생각할 시간도 없이 빨리 말하려고 하면, 
"얘가 외웠구나"하고 오히려 더 필요하지도 않은데 더 어려운 질문이 들어올 수 있습니다.

 

사실 인프런에서도 면접 멘토링 받을때에도 “너무 빨리 말한다”라는 피드백을 받긴했다.

지금 말하는것보다 1/2배속으로 더 늦춰야 한다고 한다. 

 

그런데 나는 머리속으로 어떻게 말해야 전달이 잘될까를 말하면서 동시에 생각하다보니 입으로 뱉는 속도를 조절을 못하는 것 같다.

그리고, 말을 못하면 실력이 부족하다 라고 느껴지는것 같아서 빨리 말하게 되는 성향도 있는것 같다.

 

말하는 방법도 좀 연습해야겠다.

 

'F-Lab' 카테고리의 다른 글

F-Lab 4주차 멘토링 회고 - Java backend 1개월 후기  (1) 2024.02.19
F-Lab 2주차 멘토링 회고  (0) 2024.01.18
F-Lab 1주차 멘토링 회고  (0) 2024.01.18