January 21, 2015 - 93rd Day As An iOS Developer With No Experience
THURSDAY - Our CTO sent us another set of questions, questions for developers in our company. This time, the questions are hard to answer. Anyway, I was suppose to tell you about what I've learned today, actually it is about Facebook login on Parse. I will make a tutorial of this (FACEBOOK LOGIN WITH PARSE), so stay tuned!
Here are the questions and my answer. Please don't be hard on me because I tried my best answering these without searching much on Google and without much pretending.
How would you implement full-text search?
-I don't want to pretend, I do not know the answer :D But enlighten me please sir. And thanks to this question, I now know the term full-text search. What I learned though is that this stuff is about database.
Give all ways you know to optimize JSON
(choose a fast server where you will host your JSON?)
- Optimize your code just like how you optimize your programs in other programming languages. Consider using BIG O notations to check your algorithms (just kiddin, I don't know anything about com sci things). Use variables that consume lesser memory. Like, I don't know if there are float and double data types in Java script, for instance, use float rather than double.
Give what you feel are the top 3 things to consider for information security when developing software
In no particular order ( since I don't know what I am saying here ):
1. choose your server - I mean, if you are on tight budget, you'll choose to host your documents and other sensitive data on an inexpensive host provider. This can compromise your software security. chos :D.
2. increase security of the database - I don't know much stuffs about server side or database side. But adding more security features to your database will count. I also don;'t know what I'm talking here, but I always see Oscar's tables and I always tell him to secure the password even if we're not yet in production. lol. Like: 'lagyan mo ng asin yan (SALT). Yang column ng password'. You know, yung mga may
3. functionality of the software - be aware of what your software outputs to your end user, I mean, like a simple bug, where the software gives the user a sensitive data (such as email outputting in a message box lol ). 2nd example, the text input fields of your software, it could accept a certain script from a hacker then your software will go shit and output whatever the hacker wants lol. - like when a beginner develops a php website, an experience hacker could just use basic sql injection to retrieve sensitive data, I hope this makes sense :D
Explain the mathematics behind applying filters to a sound file. Provide an example by describing how to detect the beats per minute of a song file in wav format or applying filters to any wave data
I remember how I hated studying waves,signals and shts (this includes matlab) and theoretical stuffs about electronics when I was in college, I thought I should focus on circuit design which is very wrong lol. I can't blame my professors in my major math subjects for teaching mediocrity, I mean, they teach the basics, like in Matlab, we had a subject called, something like signal analysis and we used Matlab there --- going on, I can't because it is most probably my mind is really the mediocre one. lol
Now I found one simple algorithm, designed using Matlab, this is to explain how to get bpm of a song file.
First, decompose the signal in six frequency bands using discrete wavelet transform. Then do the envelope extraction from sub-bands. (don't make me explain this, because simply I can't :D But I believe I can use this steps in matlab) - sum all Envelopes to a single onset strength signal and apply auto-correlation to find the peak position. Finally, we can get the bpm from there.
Another example how to get bpm of a song file, this is the simplest way I could find: make a simple program with 1 button. Make a user tap such button in rhythm with the beat of the song. Count the number of taps then divide by the number of time. :D
Give one characteristic of yours that top-notch developers need to have
graduate of com sci ( I would prefer to hire those if I were an HR) who understands many theoretical stuff in computer science. - does this count as a characteristic?
helpful - can freakin share his knowledge to everyone/anyone.
finally, a person with never ending perseverance, or we can say, a person with a dream - like me. lol :D - the most important trait one should find in a dev.
How do you pinpoint the 3d coordinates of an object in a 3d world given the 2d coordinates in a screen the object is being viewed on?
Sorry, I hate 3D, but I believe I need to learn to like this in the future. I hated 3D in our CAD subject way back in college.
If you had 2 years worth of sales data, describe an algorithm that could predict the likeliness that a user would purchase a product
I can't, im not a comsci grad. :( But I believe probability and statistics will have an importance here.
Logistics Regression will be used here as well, just kidding, I don't even know what that is…
Give your perspective on the tech world (A) 5 years from now, and (B) 20 years from now
A - 5 years from now - let's all agree that, according to Moore's Law, the tech world 5 years from now should be............... so astonishing (can't find any adjective that is more appropriate to describe how awesome the tech world would be). For example, laptops would be way lot thinner than what we have before - I can't imagine though how far would the laptops be thinner.
B - 20 years from now - there should be lots of drones or flying stuffs that human can ride 20 yrs from now, and I've invented something already lol.
Describe the architecture of a file synching system similar to Google Drive/ Dropbox/ Box/iCloud and the like
....................... too complex to comprehend. I cna'''tnt I can’'tt
How would you develop a bot for a first-person shooter video game like Counter-Strike that helps a player always hit headshots?
1. First, we need the following prerequisites.
- knowledge in A.I
- game development knowledge
- can understand any kind of algorithm.
- I don't know. maybe I'll develop a script (assuming that I can) that lets the user's crosshair track the head of another player, I mean a script that will let the crosshair follow the head.
What is your greatest weakness as a coder? *
I'm not a genius? I do multitasking (e.g. looking at my cellphone to play youtube videos). Or I can get easily annoyed when my laptop lags. Grrr.