본문 바로가기

Career

2021년 SK 주식회사 (C&C) Data Analytics/ Engineering 직군 인턴 서류, 필기 합격 후기

채용 프로세스 :
서류 > 필기 (SKCT, 데이터 분석 역량 평가) > 면접

* 면접 구성 및 질의 내용은 대외비이기 때문에 자세하게 말씀드릴 수 없습니다.
따라서 준비 과정과 그 과정에서 느낀 점들을 중심으로 후기를 작성해보겠습니다 :)


 

1. 서류

자기소개서 작성 요령은 제일기획 인턴 합격 후기 포스팅에 자세히 작성했습니다.
따라서 이번에는 SK C&C 자기소개서에서 특히 신경 쓴 부분만을 말씀드릴게요!

C&C 문항을 보시면 다른 회사들과는 다르게 구체적으로 무엇을 쓰라는 가이드라인이 있습니다 (ex. 본인이 설정한 목표/ 목표의 수립 과정/ 처음에 생각했던 목표 달성 가능성 등).
즉 자기소개서를 다 작성했을때, 가이드라인에서 주어진 모든 질문에 대한 답이 자기소개서에 녹아있어야 합니다.
(답변 나열 식이 아닌 자연스러운 스토리를 만들어야 해요! 읽는 사람이 고개를 끄덕이며 빠르게 이해할 수 있게!)

이 점에 유의해서 뼈대를 튼튼하게 만든 후에 자기소개서를 작성한다면 수월하게 풀어나갈 수 있다고 생각합니다!

 

2. 필기 (SKCT, 데이터 분석 역량 평가)

필기 전형을 준비하는 과정에서 '데이터 분석 역량 평가'를 구글링해도 정보가 많이 없었는데, 시험을 보고나니 이유를 알겠네요. (채용 과정의 모든게 대외비라서 공개할 수가 없음)
아쉽지만 간단한 팁시험 준비 과정만을 공유해드릴게요!

일단 시험 자체는 어렵지 않습니다. (SKCT는 준비할 수 없기 때문에 생략)
데이터 전처리부터 모델링까지 스스로 할 수 있다면 무난하게 풀 수 있는 수준이고,
캐글이나 데이콘과 같은 컴피티션에 참가해서 많은 시간을 투자해보셨다면 별도의 준비가 필요 없을 것 같아요!
(만약 본인이 준비가 필요할 것 같다면 캐글의 타이타닉 베이스라인 모델을 공부해보세요)

다만 구글링이 안되기 때문에 사용할 라이브러리를 외워야 한다는 어려움이 있지만,
주피터 노트북의 단축키를 통해 어느정도 커버할 수 있습니다!


* 이게 도움이 될 지는 모르겠지만, 제가 시험 대비 할 때 정리한 코드를 공유해드릴게요!

## 라이브러리 및 데이터 로드 
import pandas as pd 
import matplotlib.pyplot as plt 
%matplotlib inline 
import seaborn as sns 
from sklearn.preprocessing import OneHotEncoder 
from sklearn.preprocessing import LabelEncoder 
from sklearn.preprocessing import MinMaxScaler 
from sklearn.model_selection import train_test_split 
from sklearn.ensemble import RandomForestClassifier 
from sklearn.ensemble import RandomForestRegressor 
from sklearn.metrics import mean_squared_error 

# pd.read_csv() 
## 전처리 
# 학습, 테스트 데이터 나누기 
train_X, train_y, test_X, test_y = train_test_split(x, y, test_size = 0.3) 

# 스케일링
scaler = MinMaxScaler() 
scaler.fit(df) 
scaler.trainsform(df) 

# 원핫 인코딩
encoder = OneHotEncoder() 
encoder.fit_transform(df) 

# 레이블 인코딩 
encoder = LabelEncoder() 
encoder.fit_transform(df.values) 

# 시계열 데이터 전처리 
df['date'] = pd.to_datetime(df['datetime']) 
df['date'].dt.year 
df['date'].dt.month 
df['date'].dt.dayofweek 

# 월요일 : 0 
pd.date_range(start_date,end_date,freq = 'D') 


# 결측치 채우기 
df.fillna(df.mean()) 
df.fillna(method = 'bfill') 
df.fillna(method = 'ffill') 

## EDA 및 시각화 
# heatmap 
sns.heatmap(target.corr().loc[['supply','chain'],['month', 'day', 'dayofweek']],annot=True) 

# matplotlib 
plt.figure(figsize=(15,10)) 
# 종이 크기 지정 

plt.suptitle('plotting method', fontsize = 20, y=0.9) 
# 종이의 제목, y는 제목의 위치(default=0.98) 

plt.subplot(2,2,1) 
# 2행 2열에서 첫번째 부분/ * stateless의 plt.subplots()와 다름 

plt.plot(1.98, 0.15, 'ro', t2, f(t2), 'k') 
# x=1.98, y=0.15 에 빨간 점 찍고, x=t2, y=f(t2)에 그림 그려라 

plt.title('1st plot') 
# 제목 

plt.xlabel('x') 
# x축 이름 지정 

plt.ylabel('y blue', fontdict = {'size':15, 'color': 'blue'})
# y축 이름 지정 

plt.grid(True, color='g', linestyle='--') 
plt.annotate('3rd max', xy=(2, 0.17), xytext=(2.5, 0.6), fontsize=15, arrowprops=dict(facecolor='blue', shrink=0.05))
# 화살표 추가 plt.subplot(2,2,3) 
# 2행 2열에서 세번째 부분 

plt.plot(t2, np.cos(2*np.pi*t2), 'r--', label= 'cos') 
plt.plot(4,1,marker='x', ms=8, mec = 'b', mew = 2) 
# ms: markersize/ mec: markeredgecolor, mew: markeredgewidth 

plt.title('2nd plot') plt.legend(loc='best') 
plt.subplot(2,2,(2,4)) 
# 2행 2열에서 두번째, 네번째 부분 

plt.scatter(data['a'], data['b'], c=data['c'], s=data['d'], cmap='jet')
# c: color, s: size 

plt.title('3rd plot') 
plt.xlabel('x 축') 
plt.ylabel('y 축') 
plt.subplots_adjust(top=0.8, bottom=0.28, left=0.10, right=0.95, hspace=0.5, wspace=0.2) 
# subplot layout 조절 /hspace : subplot간 위아래 공간, wspace : subpot간 좌우 공간 

## 모델링 
# 분류 
model = RandomForestClassifier(n_estimators=100) 
model.fit(train_X, train_y) 
predict_y = model.predict(test_X) 

# 회귀 
model = RandomForestRegressor() model.fit(train_X, train_y) 
predict_y = model.predict(test_X) print(mean_squared_error(y_true, predict_y))