GM Interview Prep

Ace your homework & exams now with Quizwiz!

Review algs for GMF, arith, playlist, and redline

Arith: The program is divided into 4 main modules as outlined in the diagram below: 40image(Client): Opens a file and passes it to the compress40 interface. Based on the user's specifications, compress40 will either run compress or decompress. compress40: Reads and writes the image in either compressed or decompressed form based on which function is called. pack40: Packs a 2 x 2 block into a 32-bit word, or unpacks a word into a 2 x 2 block. This interface will hide the details of bitpack from compress40. Bitpack: Does the actual packing into the 32-bit word, based on a, b, c, d, average of Pb, and average of Pr. Also unpacks the bit word to obtain the variables a, b, c, d, average of Pb, and average of Pr. Playlist: initial pass to sort by key and bpm Calculate least difference between songs based on key and bpm, little bit of randomness Grow My flower: create a network of users "friends" on facebook map users w google maps users have activities that they complete, MONGODB to keep track of their actions Redline: Send get request to the JSON of MBTA get users location from google maps api, get closest stations to them, get real time data of the next upcoming trains , used google maps API to give path to the nearest station

Tell me about your role in the WIT conference

-Going to local schools, do short demo on web programming and inviting HS students to attend the conference

What makes you feel you are qualified for this position?/What would you bring to GM?

-Depth of understanding of algorithms and data-structures due to my unique experience as both a teacher and a developer -Very good communication skills, team player, with positive attitude, good collaborator -Eagerness/willingness to learn new skills/languages/technologies would make me a valuable employee. Lifelong learner! -Creative problem solver who can come up with innovative ideas

Greatest Weakness

Anxiety around public speaking in large groups, teaching has helped me improve on this a lot (small groups are fine)

What are your three greatest strengths?

Communication/teamwork - I'm a people person and I enjoy working with other people and have the communication skills to effectively collaborate with others Innovative/Creative - I like to look at a problem from perspectives different than just the obvious solution, often I find just by exploring different perspectives you can learn something new which makes for better understanding of the problem and better solutions Ability/willingness to learn - I love to learn new things and am constantly reading articles/watching documentaries to learn about the world around me. Love trying new technologies and am not scared to change my methodology in approaching a certain problem if I learn about a better way to do it

What are the principles of OOP?

Encapsulation: each object keeps its state private or hidden inside of a class. The object manages its own state with methods. The state of the object is defined by private variables and private methods (functions). Other classes can communicate with the object through public interfaces or public methods. Abstraction: Each object should only expose high level mechanism for using it. That mechanism should hide internal implementation details and only reveal operations relevant for other objects. Don't have to know whats going on "under the hood" Inheritance: Creation of a child class by deriving from a parent class. Child inherits methods and fields from the parent class but can also add it's own unique part. Polymorphism: Ability of an object to take on many forms. Function with the same name can carry a different functionality, for different classes. Creates a structure that can use many forms of objects.

Review solution for pow 2

I guess I was thinking about what all pow 2 numbers have in common and if you write it in base 2 the first bit is always 1 and the rest of the bits are always 0 like 16: 10000 or 8: 1000 And I also knew that every number that was 1 less than a pow two would have the oppisite bits: a 0 followed by a certain number of 1s like 3 is 011 So if n is pow 2 than if you take bitwise & (1 if both are 1) of n and n-1 you get 0. So that gave me (x & (x -1)) = 0 Since 0 is false in python I too the not of that statement So I had (!x & (x -1)) But then I noticed the case where x is 0 doesn't work for this expression so I added x AND (!x & (x -1)) which return 1 (true) only if x is not 0 and (!x & (x -1))

Why do you want to work for GM?

I want to work at GM because this year we saw an unprecedented amount of devastation related to climate change from fires destroying the west coast to hurricanes and tropical storms ripping up through the east coast to tornados in the south and midwest. It's not a coincidence and it's going to keep getting worse until we do something about it. I want to do something about it. I want to join GM to develop innovative technologies that will lead to fewer emissions and will help to protect the future our planet. I also want to build and maintain technologies that will make auto travel as safe as it possibly can be you know just knowing that the reality is for someone my age as scary as the coronavirus is, I'm still far more likely to die statistically just by getting in a car. For future generations I want to ensure that we reduce that risk as much as humanely possible weather that means developing autonomous vehicles or creating smarter sensor systems to reduce collisions.

Describe a conflict at work and how is was resolved/Describe a time you conflicted with a coworker/when have you disagreed with a team member/Describe a challenge in a team project

In a previous role I worked as a curriculum developer at an ed-tech startup I was asked to review a history course about the exploration of the new world. I felt that the course overly heroized European colonialists without exploring the negative effects of colonization on native peoples around the world. I mentioned this in my written notes about the course, but noticed that the course remained unchanged several weeks later. At a team meeting I was asked to summarize my feedback and I had to speak up about this issue. I respectfully let the team know my opinions on the topic and brought up ways to incorporate information about marginalized groups in the time of colonization to broaden the course and make it more inclusive and less Eurocentric. My team member who had written the course was surprised but as a group we eventually came to the conclusion that the course had to change and I'm glad that I spoke up in that moment.

Diff between classes and interfaces in Java?

Interfaces specify what a class must do but not how (no body). It's the blueprint for a class.

Describe a hardship you recently faced and how you overcame it? / A time when something didn't go as planned, how did you work around the issue?

Lost job at Knowsome due to covid outbreak layoffs Needed to get a new employment So i started doing private coding classes, I developed the curriculum, organized for group classes, did marketing, billing and communications with parents, scheduling, everything And successfully started my business, I've worked with over 50 families, done classes in a variety of languages, emphasizing project based learning so that the kids can skills beyond programming, hopefully helping families keep their kids engage in active learning activities despite the pandemic.

Tell me about a time when teamwork was essential/ Tell us about a time when you worked on a team where communication was absolutely necessary

One project I worked on in college was developing self care app that would allow users to create virtual garden which would grow as they documented themselves performing self care acts such as eating a meal, drinking water, or getting 8 hours of sleep. We wanted to add a social element to the app so that users could view their friends gardens and send an encouraging message to friends if they saw their plants wilting. For the project to come together, the three members of our team had to work together to figure out the arcitecture of the app and decide what APIs and software we would need to use. We decided to use MySQL for the backend and Bootstrap, the Facebook API, the google maps API the frontend, and D3js for the animations, and worked together though the documentation to figure out how to use technologies to create our app. Because different members of the team had different backgrounds we all brought different strengths and were able to successfully build the app and help college students take better care of themeselves in a stressful environment.

Tell me about a project you worked on that incorporated OOP principles.

Snake in C++ Snake can move in a given direction and when it eats the food, the length of snake increases. - When snake crosses itself, the game will over. Food will be generated at a given interval. Classes used: Snake: stores information about the snake and the board, contains head, can grow, get head, return head Board : maintain the 2d array of cells. also contains a method to generate food. Cell: one point of display in the board, contains the row no, col no, information like is the row empty, is there food or a piece of the snake in the board Game: main class which stores the snake and the board Uses encapsulation and abstraction because each object is keeping its state hidden inside of a class, and abstraction because each method hides internal implementation details from other methods. Doesn't use inheritance or polymorphism because. there were not enough similar classes , a project I did that used inheritance and polymorphism was implementing a class scheduler where there was a teacher class and a student class both descendants of a person class.

A time you failed and how you came back from it?

So I was taking a class on programming languages, which was very difficult (semantics and mathematical reasoning about code at an abstract level, lambda calculus, computational theory etc) And I ended up getting like 50 on the midterm because it was the kind of class that I didn't know how to study for, because it was so abstract. So my task was to get a significantly higher score on the final, not just a passing score but a score high enough to raise my terrible midterm score. So I knew that I had to do more than just try to study on my own because that's what I did for the midterm and I failed it. I reached out to acquaintances in the class and formed a study group so we could work through questions together, went to frequent office hours with TAs and started asking questions in class (getting over my fear of sounding dumb or having a question that didn't make sense) And the result was that I ended up getting a B on the final which was amazing and they ended up putting a curve on the whole course as well so I got like a B+ and didn't have to take it again!

What inspired you to become a developer

So, I didn't always want to be a developer I was interested in geology and education but, it kind of just happened that I needed a math credit so i took a CS class, ended up really enjoying it and eventually decided it was something I wanted to do. I loved the active nature of coding, the ability to create something —a computer program—that for years of my life had seemed like magic to me. So I knew at that point that I enjoyed coding but I wasn't really sure I wanted to become a SWE until I started my work in education and I realized how important it is for kids to have role models that look like them in all different fields. And I realized that I had never seen that before you know we think about tech guys and stuff like that but when I was growing up I never was really exposed to female developers. So realizing that and just thinking about the lack of non-men (women and NB) in my university's CS department made me want to persue Comp Sci as a career even more so that I could inspire future generations of female developers and help bridge the gender gap in a field that has so much impact on shaping our future world (tech).

What are three things about you your boss would say?

Team player - I'm a people person and I enjoy working with other people and have the communication skills to effectively collaborate with others Creative - I like to look at a problem from perspectives different than just the obvious solution, often I find just by exploring different perspectives you can learn something new which makes for better understanding of the problem and better solutions Ability/willingness to learn - I love to learn new things and am constantly reading articles/watching documentaries to learn about the world around me. Love trying new technologies and am not scared to change my methodology in approaching a certain problem if I learn about a better way to do it

Testing strategies

Unit testing: purpose is to make sure that each unit in the program preforms as it should Test driven development benefits: Forces you to think about the problem your trying to solve Helps you understand the contract of each specific class Minimizes debugging time Encourages better design

Tell me about yourself

Well I graduated from about a year ago from a CS major at Tufts. I did an education minor in college and worked in a research lab studying how young children interact with code and the different skills they can learn from it besides just programming, like creativity, literacy and mathematical and analytical reasoning. It was through that lab that I got funding to conduct my own independent research project exploring the relationship between natural and artificial language through the process by which billingual children learn coding. Since graduating I've been working in the education sphere doing curriculum development for an Ed-tech company and more recently teaching coding classes online. I started my own tutoring buisness and have so far worked with more than 50 families to ensure that their children's education can continue during the pandemic. I have taught individual and small group classes in python, javascript/html/css, lua, c++, and scratch. I love teaching and have been fascinated with education for a long time because not only do I love to learn but i love seeing the different ways in which others learn.

Describe a personal or professional success/ /A time you went above and beyond/Describe a time when you had to learn a new method, technique or skill to complete a task or responsibility. How did you approach the situation?

When I stared my teaching business I noticed that many students were interested a game called Roblox, if you have kids you might have heard of it. The students always wanted to play roblox during breaks and would ask me to play with them. Since the students had such a keen interest in this game I made it a task for myself to see if I could create a course around Roblox that would teach them coding and game design using a platform that they already loved. I didn't have any experience with Roblox or Lua, the language that is used to program Roblox games, but after downloading Roblox Studio, playing around with it for a couple days and watching endless tutorials on youtube I had created my first game. After learning the basics of the development platform I was able to create a curriculum for a course using Lua to teach kids basic coding principles like variables, loops, functions, while creating their own game on Roblox. I launched the course and to this day it remains my most popular course and I've had over 30 students who have learned how to create their first game on Roblox through my class.

A time when you could have done things differently

When I was an in college I did an independent research study exploring the relationship between code and language and the main thing I chose to focus on was the ways in which bilingual children learn programming. One of my preliminary tasks in screening participants for the experiment was determining that the bilingual participants were truly bilingual. I needed a way to measure bilingualism, but the definition of bilingualism can be different depending on who you ask, and can be difficult to evaluate without access to an interviewer fluent in every language spoken by the subjects. Since I couldn't do that I decided instead use a parent survey about their child's language use, but that presented flaws for a number of reasons: the first of which being that I had no guarantee that parents would tell the truth. The second being that I could not make the pre-survey available in every language, so I could only recruit subjects whose parents were fluent in English, which when trying to recruit bilingual subjects lessens the pool of available subjects. If were able to do things differently I would definitely have involved multilingual interviews to better screen my participants.

Tell me about a time when you received criticism and implemented it?

When I was an in college I did an independent research study exploring the relationship between code and language and the main thing I chose to focus on was the ways in which bilingual children learn programming. When I presented the protocol for the experiment to my PI, she commented that my evaluation of the children's ability to learn programming was lacking enough quantitative measures. I needed a more definitive way to gather data, but in the field of programming in early childhood there are very few assessment tools that exist. To increase my quantitative data measures, I found a PHD student who was doing her thesis on creating a quantitative assessment for early childhood programming using KIBO robotics. I met with her and learned the technology and the assessment from her. I added her assessment tool to my experimental methodology and as a result, after implementing the experiment, I had more data points to analyze and was able to conclude that bilingual students scored roughly 10% higher on a programming assessment following an introductory workshop than monolinguals with the same background.

What was your biggest challenge/describe a challenge you overcame/you were in a difficult situation/

When I was studying abroad in Santiago, I completed an independent research project studying the vocational schools in the region and comparing technical education practices to holistic progressive education ideals that have become popular in the U.S. in recent years. I observed the schools for three weeks and interviewed students, teachers, and finished my assignment of writing a 20 page research paper. Shortly after turning in my assignment I was contacted by my professor who wanted to know if would present my findings to a group of high ranking school officials for the city of Santiago. I was very nervous to do this because public speaking gives me a lot of anxiety already and I had even more anxiety knowing that I would have to give the presentation in Spanish which is not my first language. I decided it was too good of an opportunity to pass up though so I practiced for many nights and gave the presentation the following week. Despite being nerve racking, I learned a lot from the experience and now am able to look back at it as a fond memory.

What was a time when you had to do something unpopular when in a technical setting/ Describe a time when you had to convince someone using data/use evidence to convince someone

When I worked in as a research assistant in a lab focused on creating educational technologies one of the technologies that we created was a robot that can be used to teach programming to young children. Me and another team member were tasked with implementing a scanning system so that the robot could scan corresponding blocks of code and efficiently execute them. However we found in subject tests that many children had trouble scanning the code — they were scanning it too fast or from too close for the robot to recognize the code and perform the correct task. This was confusing for the children because they would think their code had a bug but it was just a scanning issue. The team was ready to present the robot at a research symposium, but me and my partner brought this issue to their attention and convinced the rest of the team that it would be worth it to implement some feedback noise when a block was scanned correctly or incorrectly. As a team we implemented this system, presented the robot at the symposium and as a result we ended up winning an undergraduate research award for our project.

Do you code in your free time? What is a project you do for fun?

Yes, I work on various project. Playlist builder was a project I made in my free time, still working on Spotify integration. Currently working on making a website for a friend whose a filmmaker.

Alternate example of a time that you'd do something different:

testing: first year , didn't really have good testing practices, or practice test driven development, would write unit tests after coding the whole project so when I had to do a big project like snake, I would get really overwhelmed when there was a bug in my code because I had developed it without really thinking about a test plant so I think it was my second semester and the teacher was talking about TDD and I realized that that makes so much more sense And now testing is something I really enjoy and I take pride in writing good tests. TDD not only helps me catch bugs and spend far less time debugging but it also helps me with design because it kind of forces you to think about the contract for every class before you write it


Related study sets

CA Life, Health and Accidental Exam Prep 3

View Set

Lesson 5 - Roman Catholic Church in Medieval Europe

View Set

Vocabulary Workshop Level E, Unit 9, Vocabulary Workshop Level E, Unit 15, Vocabulary Workshop Level E, Unit 14, Vocabulary Workshop Level E, Unit 13, Vocabulary Workshop Level E, Unit 12, Vocabulary Workshop Level E, Unit 11, Vocabulary Workshop Lev...

View Set

FP: Terminology: 1. General Terminology

View Set