Categories
Uncategorized

Blog Post #8

My Project (Week 8 Update)

Our project is coming along and my group is coming pretty close to finishing the requirements. The website is still called “Software Programming Quiz” and looks like we are sticking with that name! Anyway, we currently have a login, an email form for contacting a potential candidate, and a survey form for the candidate to fill out.

Current Accomplishments

We have a login and registration, email functionality, a quiz creator, and a survey form. All of these features are working and we have worked out most of the bugs for these features. This CSS and styling have been fun to work on. We use Bootstrap which is a framework that makes it easier to style a website in a standardized way using rows, columns, grids, etc.

Crunch Time!

In less than two weeks we have to develop functional quizzes that can implement multiple-choice, true and false, fill in the blank, and free answers. The model that handles this functionality has been created. We also need another model that posts the results of the quiz to the database. The logic to accomplish this will most likely be done in the front end, but we are exploring a way to do it at the back end. After a quiz is recorded, we also want to display the results.

We can do it!

With the limited time left, I believe we can accomplish the last few requirements left. CS 467 Capstone has been a great experience and my group members have been a pleasure to work with.

Categories
Uncategorized

Blog Post #7

The Tech Interview

As I end my time at Oregon State University, preparation for technical interviews has been challenging and overwhelming. I have Googled searches on how to prepare and the results can be very intimidating. But, I think I found a way to train without stressing myself out too much.

Work on Soft Skills

Soft skills are probably my strong suit, but it doesn’t mean that I shouldn’t prepare for them. The interviewer will ask, “Tell me about yourself?” in most interviews. This seems like an easy question, but it is very difficult if you are not prepared to answer it. Your response shouldn’t start with your experience from Kindergarten to the present day, but rather relevant information about your life experiences that directly pertain to the job you are applying for. Other soft skill questions also inquire about how you work with others and how you resolved prior conflicts in previous professional settings. Interviewees should also be prepared to answer why they want to work for the company they are applying for. The responses to all of these questions should be practiced and prepared because you do not want to be caught unprepared during the actual interview.

Questions on a Specific Technologies

There are many technologies out there in the world, but you should not try to learn them all before the interview. Since I am interested in a software engineering job involving web development, I focusing on these technologies specific to the position. But I also have to make sure that I understand the fundamental of software development. Fundamentals such as basic syntax, testing and debugging, object-oriented programming, and the design process. If your knowledge of the fundamentals is strong, a software engineering position in technologies other than web development may be possible if the interviewer feels that I have a strong grasp of the basics.

Whiteboard Questions

Whiteboard questions will take most of my time and dedication for the technical interview. These questions involve solving algorithms on a whiteboard without the aid of a computer. When I first started to prepare, I tried to memorize as many algorithms as I could and this was a very difficult approach. I decided to go for a more systematic approach that helps me understand the underlying solutions pattern and apply these patterns to solve most of the questions that the interviewer will ask. The interviewer wants to assess your knowledge of common data structures such as arrays, linked lists, hashmaps, queues, heaps, graphs, etc. I plan on focusing on each data structure until I feel that I am confident enough to move to the next one.

Wish me luck and thanks for reading!

Categories
Uncategorized

Blog Post #6

My Project (Week 6 Update)

For my last course at Oregon State University (OSU), I have been working on a website with my group. The current name of the site is called “Software Programming Quiz”. As a reminder, the purpose of our website is for employers to create quizzes for potential candidates for software engineering/development positions, send the quiz to the candidates, and analyze the results from the potential candidates (similar to SurveyMonkey). Our group has made significant progress and we are currently hosted on the Heroku which is a platform as a service (Paas) that enables our group to build, run, and operate our website via the cloud.

Setting up the Database (MongoDB)

I was tasked with setting up MongoDB and creating a model for a user that represents the employer. The properties for the model were name, email, password, and date. Then I created a database for the project and I named it “Software Programming Quiz”. After a database is created, a connection string for Node.js is created that can be used for the project. I added a file for the connection string, and I successfully connected our database to the website.

Creating the forms

Create the forms were pretty frustrating at first, but I was able to find the resources I needed to successfull create a form for the login and register pages. The register page add new employers to the user database, and the login lets the user login via email and passord. I initaillay thought this task was going to be easy, but there was much more that goes into developing a log in for a website. I had to create checks to make sure that the text entered to the forms were validated before the data is sent to the database.

After a successful log in, I also had to make sure the an authorized user was logged in to the site and check for the wrong email, wrong password, etc. I used middleware to check both the validation and authorization of the users for all the page routes in our website.

Next Steps

I want add more validatation checks like checking or Caps Lock, editing profiles after they are made, retreiving a password if forgotton, etc. But I thing these features will be added after we acccomplish the goals that are prioritized in assignmed requirements.