Week 16 Your personal brand
At the end of the computer engineering degree, despite having followed a temary and having the bases to work on a project related to software development, when looking at the profiles requested on pages such as LinkedIn, Indeed or OCCMundial, it seemed as if there was no relationship with the things they asked for and what they already knew how to do. Even from how to filter the jobs, searching for keywords to obtain the best results related to the tasks in which we want to perform is usually a challenge at first. The writing of a CV, knowing what information is important to our profile and that in this way companies can filter more efficiently.
All these situations have been a topic that we have dealt with throughout this week, as we begin a new phase in the Encora Academy internship and it is called “Your personal brand”. We will begin to filter all this information precisely to find out what is really important for a software development recruiter, in its due areas. How to prepare for the interview process. If there is any way we can “exercise”. And, for some, like me, the approach to our first professional and evaluation interview.
In the last semester of my computer engineering degree, we had a professor who challenged us. He asked us to investigate and, if possible, apply for an interview to work at Amazon. Would we be able to pass an interview to apply in amazon? The goal of this exercise was primarily to identify where we were standing. By this he meant knowing what technological tools we had and how easily we handled these tools. The type of questions they asked as well as the importance of managing algorithms and developing systems. It is an idea that is taken up in the book titled Cracking the code Interview written by Gayle Laakmann McDowell. Where he tells us at first how are the interviews in places like Facebook, Google, Amazon, etc. Common points and some tips to prepare ourselves better such as:
- Exercise our programming skills and logical thinking.
- Ability to communicate doubts and collect information.
- Be aware that teamwork is very important.
How are technical and logical interviews? This week check out one of the videos proposed by the program on what a Coding / engineering interview to work at Google looks like. It was the first time I heard about the white board test. Where your interviewer offers us a program and is interested in the following aspects:
- How do you understand the problem.
- If you needed a lot of help to understand it and what questions did you ask.
- Your way of thinking and the proposals you make.
- Know how to communicate to your interviewer what you are going to do and how.
It is not something that is followed to the letter nor is it a rule, but they are a pattern that can help filter. As they say there is more than one way to solve a problem. Then comes the part that is dedicated to coding a response in a language in which you feel comfortable or with the language used in the vacancy in which you want to start working. It is made clear that we are not computers and they are aware that there is no way we can remember all the functions that can be used in a Java class, for example, but if you notice that the answer makes sense. Perhaps confusing an insert () function with put ().
The book talks about some differences and generalities between interviews that may exist between a recent graduate of the degree and a veteran developer. It is very likely that a recent graduate does not know topics such as patterns and systems design, as well as a veteran, but in the same way it is important that the way in which he responds, that is to try to be as informed as possible. And a general point in which both a recent graduate and a veteran are asked questions about algorithms and computing bases. No matter the experience, knowing these issues can make a difference when solving a problem. And set an example where someone who tries to do a search as quickly as possible and has an idea that the binary search algorithm exists has a better chance of solving it than someone who doesn’t even know it exists.
I had my first evaluation interview a week ago and many of the questions were precisely basic concepts of which some were concepts that I used but did not understand why and others that I didn’t know. As a consequence, being faced with a programming problem causes me to fall into scenarios where I have to reinvent the wheel, encounter dead ends or create inefficient solutions.
How can we improve our skills or detect these flaws? There are pages like one that I use called codewars.com in which there are many programming exercises or the one proposed by Academy HackerRank in which there is a special section with frequent problems for interviews. Facing these scenarios is when these areas appear where we can improve.
I am currently solving exercises on HackerRank for interviews and one of the problems led me to investigate how binary search works. One of the requirements is that the arrangement of elements on which the search is to be carried out is organized since the arrangement will start and will begin to search in the part of the arrangement closest to the value that is desired to be obtained.
Example, let’s say we want to search an array of 15 elements for the number 345.
int firstIndex = 0;
int lastIndex = array.lenght()-1;
int [] array = {100, 125, 265, 345, 378, 423, 478, 566, 777, 789, 812, 825, 838, 876, 999};
firstIndex will be in the first position of the array and lastIndex at the end of the array, array.lentgh () — 1. We will obtain an average index from the operation:
mediumIndex = (firstIndex + lastIndex) / 2 ===> ((0 + 14) / 2) = 7
mediumIndex = 7
The value is in the array element [7] = 566, we check if the value is greater or less than the element we are looking for in this case 566> 345, which means that the element we are looking for is on the left so firstIndex it is kept in the same position and lastIndex takes the value of mediumIndex to keep the part that interests us.
As we handle a division with only whole numbers, 3 is assigned by rounding. mediumIndex [3] = 345, and this time the value is the same as the search ends, if it had been the opposite case, the evaluation would be applied again to know which part of the array is closest to the value and the values are assigned again. indices .. The entire array did not have to be traversed for the element.
It is important to prepare for an interview by researching the position we want to enter, the related technologies, as well as making sure we know the basic issues related to the use of those technologies. Upgrading is extremely important as in such a large development community there are always new ways to solve problems. Taking tests as exercises or looking for openSource projects is a good practice to find out what we need and what is being used.