2022/06 12

[스타트업 인턴] 첫 스타트업 하계 인턴 최종합격

얼마전에 모 스타트업에서 대면 면접을 봤다. 코딩테스트도 봤었고 이후 면접도 봤었다. 처음 지원한건 자바를 활용한 안드로이드 라이브러리를 개발하는 포지션이었다. 그런데 면접을 진행하면서 안드로이드 개발 대신 기존에 내가 계속 개발해왔던 백엔드 포지션을 제안해주셨다. 구체적으로는 파이썬을 활용한 백엔드 개발 포지션에 대해서 제안해주셨다. 순조롭게 면접이 끝났고 지금까지 쉬고 있었다. 오늘 메일을 받았는데 최종합격이라는 메일을 받았다. 그래서 영어로된 이름과 함께 졸업증명서, 통장사본을 보내달라고 하셨다. 여기까지는 좋은데 고민이 많다. 문제는 기술 스택이다. 내가 연마하고 싶은 기술은 Java 언어였다. 그게 안드로이드 개발로 지원한 이유였다. Java를 활용하면서 언어 활용도가 많이 늘 수 있을 것이라고..

[LeetCode] LeetCoe 1337. The K Weakest Rows in a Matrix - python3

재밌는 문제를 찾았다. 그리고 최근에 느낀거지만 Leetcode 에서 submit 을 하면 성능과 메모리가 어느정도 되는지 나오는데 그걸 줄여보려고 코드를 바꾸려고 했던 적이 많다. 근데 확실해진건 이걸 기준으로 성능, 메모리 최적화를 하긴 어렵다는 것이다. 그 이유는 그 결과가 항상 다르기 때문이다. 즉 그냥 근사치 정도가 아니다. 90퍼센트 효율이 뜨던 코드가 갑자기 10퍼센트 효율이 뜨는 경우도 있다. 그래서 그냥 이런 성능이랑 메모리 효율성을 따지기 보다 그냥 코드만 보기좋게 다듬는 연습을 하는게 더 낫다는 생각이 들었다. 그런데 마침 오늘 꽤 괜찮은 문제를 발견했고 최대한 코드를 줄여보려고 노력을 했는데 list comprehension의 한계에서 막혔다. 즉 list comprehension ..

[Python3] Exception has occurred: TypeError argument should be integer or bytes-like object, not 'str'

최근 새롭게 만들고 있는 프로젝트에서 암호화와 관련된 작업을 하는 와중에 Exception has occurred: TypeError argument should be integer or bytes-like object, not 'str' 라는 예외를 만날 수 있었다. 간단하게 해결할 수 있는 에러이다. 파이썬에서 bytes와 str은 아래와 같은 관계가 성립한다. str -> 디코딩 -> bytes bytes -> 인코딩 -> str 그러므로 encode를 해주던, decode를 해주던 utf-8로 해주면 된다는 소리다. 나 같은 경우는 RSA 키로 만든 public key와 private key가 결과물이 bytes 로 나왔는데 그걸 슬라이싱하려다가 발생한 오류였다. 아래 코드를 보면 알겠지만 exp..

[스타트업 인턴] 첫 스타트업 인턴 면접 후기

처음으로 회사에 직접 가서 인턴 채용 관련 면접을 보았다. 이전에 한번 동아리 면접을 본적이 있었는데 학생들끼리 진행하는 동아리 면접임에도 불구하고 엄청 떨었던 기억이 있다. 동아리 면접에서도 그렇게 떨었는데 왠지 모르게 회사에 가서 보는 대면 면접은 그때보다 마음이 편했다. 한번 동아리 면접에서 떨고나니 면접이라는게 결국은 내가 어떤 사람인지 탐색해보는 과정이라는 생각이 들었기 때문이다. 내가 좋으면 뽑고 별로면 안뽑는거다. 그게 전부다. 당일 회사에 가서 직접 면접을 보았는데 신기하게도 떨지 않았다. 아마 내가 예전보다 조금 나아진것도 있지만 면접관 분들께서 편안한 분위기를 만들어주었고 호응을 많이 해주었기 때문이라는 생각도 들었다. 내가 얘기할 시간도 많이 주셨던 것이 도움이 되었다고 생각한다. 면..

소프트 스킬과 하드 스킬

최근 트위터에서 소프트 스킬과 하드스킬에 대한 주제가 화제가 되었다. 물리엔진, ML 프레임워크, 컴파일러, 데이터베이스 등을 만드는 전문적인 개발을 하는 사람들의 경우 하드 스킬이 많이 요구되지만 일반적인 웹앱의 경우 평균 수준의 하드스킬이 요구되고 협업할 일이 많아서 소프트 스킬이 더욱 강조된다는 류의 트윗이었다. 최근 나도 협업에 대해서 많은 고민을 하고 있어서 이걸 보고 많은 생각이 들었다. 최근에 협업을 하면서 고민한 점들이 많아서 어떻게 협업을 이뤄내야할지에 대해서 진지하게 생각해보았다. 내 개인적인 견해는 이렇다. 하드 스킬은 기본중의 기본이다. 전문적인 엔지니어가 되기 위해서 하드 스킬이 필요한 것이고 진정 자신을 전문가라고 말하기 위해서는 하드 스킬을 쌓아야 하는 것이 당연시 된다. 그렇..

생각들 2022.06.20

[LeetCode] LeetCode 1037. Valid Boomerang 솔루션 - python

꽤 쉬운문제라고 생각하고 풀었는데 생각치 못한 부분에서 막혀서 답지를 보고 푼 문제이다. 참고로 블로그에 기록해두는 이유는 답지를 보고 풀었는데 거기서 꽤 많은 점을 배울 수 있었기 때문이다. 아래는 문제 링크이다. 꽤 간단한 문제이다. https://leetcode.com/problems/valid-boomerang/ 자 그렇다면 내가 처음 접근한 오답을 먼저 보자. (이 코드 안봐도 된다. 아예 틀리기도 했고 너무 부실하다. ) class Solution: def isBoomerang(self, points: List[List[int]]) -> bool: points = sorted(points) last_point = points[-1][0] for i in range(1, 3): if points..

[LeetCode] LeetCode 961. N-Repeated Element in Size 2N Array 솔루션

이 문제는 어려운 문제가 아니다. 굉장히 쉬운 문제다. 그냥 지문 그대로 옮겨서 구현만 하면 되는 문제다. 그런데 문제를 풀어낸 솔루션에서 굉장히 재미난 동작을 발견했다. 파이썬 언어차원에서의 동작인것 같은데 처음에는 왜 이렇게 동작하나 의아했는데 꽤나 재밌다는 생각이 들어서 따로 뽑아서 블로그에 정리하고자 한다. 우선 문제 링크는 아래와 같다. 슥 봐도 쉬운 문제임을 알 수 있을 것이다. https://leetcode.com/problems/n-repeated-element-in-size-2n-array/ 그런데 중요한건 문제를 어떻게 풀었냐가 아니다. 문제를 풀어낸 과정에서의 코드 몇줄에서 발생한 신기한 동작이다. 내 솔루션은 아래와 같다. from collections import defaultdi..

기회와 선택

최근 들어서 많은 기회가 나를 찾아왔고 동시에 많은 기회에서 나의 능력이 부족했음을 느꼈다. 그럼에도 많은 기회들이 나에게 직접 고를 수 있는 기회를 주었다. 어떤 곳은 코딩 테스트에서 탈락했고 어떤 곳은 코딩테스트의 모든 문제를 다 풀었음에도 서류에서 탈락하여 면접조차 볼 기회가 없었다. 어떤 선택지이던 내게 미흡한 점이 많다는 점을 알려주었다. 그래도 코딩테스트를 오랜 기간 차근차근 준비해왔는데 이게 도움이 된건지 중간 난이도의 문제들은 쉽게 풀 수 있는 수준이 되었다. 붙고 떨어지고를 떠나서 내가 가고 싶은 곳이 어느정도 추려진 것 같다. 1. 기존의 대기업들 (돈 많이 주고 안정적인 큰 규모의 회사, 흔히 말하는 네카라쿠배, 삼성, SK 등등) 2. 새로운 도전을 하는 스타트업 (블록체인, 인공지..

생각들 2022.06.14

[Intellij] Abnormal build process termination Error with

오늘 갑자기 클라쪽에서 수정사항이 있어서 급하게 인텔리를 켜서 작업을 할려고 했는데 IntelliJ: Abnormal build process termination Error with 이와 같은 에러가 발생했다. 아예 Run이 작동하지 않았다. 딱봐도 인텔리 자체의 오류거나 내 윈도우에서 뭔가 이것저것 진행하면서 jdk 경로가 바뀌었거니 하고 생각하고 있었는데 다행히도 명쾌한 해결법을 찾아서 현재는 해결했다. 인텔리에서 File -> Project Structure -> Project Settings -> Project 여기까지 들어오면 아래와 같은 창이 나올 것이다. 여기서 Language level 만 바꿔주면 된다. 자이제 여기서 Language level 을 java 8 로 맞춰주면 된다. 나는 ..

2022.06.06
반응형