Friday, January 11, 2013

Legoland Malaysia Review

This post was half way written since September last year. I just can finish it right now, because my laziness.

This post will share about my first visit to the large newest theme park in South East Asia. It is exactly located in Malaysia. I will talk about Legoland.

Legoland Malaysia is the first Legoland park in Asia. At first time I was little bit reluctant when prepared plan to visit this place. From some review on internet, some of people said that Legoland is child oriented theme park that probably not suitable for adult. This consideration is really matter, because I plan to visit there with my wife. Two adults visits child theme park seems not sound good. But later I decide just to visit there while my wife still here in her summer holiday.

The adult ticket for Legoland is 140 MYR. In Singapore dollar it will be around 56 SGD. It is quite expensive and have small differences with more well known theme park, Universal Studio Singapore at about 68 SGD. But still we just decide to buy and try. After browsing Groupon, we found a nice offer. By paying 52.90 SGD we got one Legoland ticket include return bus coach from and to Singapore. We book departure date on 15 September 2012, exactly at grand opening date of the park.
The Ticket

We went from Singapore Flyer as the starting point. My booking confirmation show our departure at 8.30. But later I realized the tour provider made a mistake. We supposed to depart on 9.00 AM. Several minutes before 9.00 I queue for exchanging my booking confirmation sheet with two tickets. Then several minutes after 9.00 the bus departed. Legoland is located in Johor area. It takes less than 90 minutes travel time from Singapore. So we were arriving before 10.30. First impression when we arrived: It was so hot!!

Actually we were anticipated that in grand opening day there would be a lot people came. Yes they were so many people, but not so many as our expected. In the ticketing counter the queue was so long. Maybe around 100 people were queueing. We were lucky already purchased the ticket so we don't need to queue.

First thing first was to take foto in the front of Legoland logo. Because it was quite hot we just enter the park after scaning ticket barcode. At the entrace we can take a Legoland map. Legoland is divided into several section. I didn't remember exactly all sections. But it about 8 section with around 40 shows, rides and attractions. All section is located arround circle area with one interesting poin that we cannot find in another theme park. It is Miniland. In Miniland we can find a lot of buildings and landmarks miniature from Malaysia and several countries in South East Asia built in Lego. I think this section is best of the best in Legoland. We can spent plenty of time take a photo in this area. The best time to visit this place will be at afternoon when the sun goes down. Beside Landmark made by Lego, in all over park we will see a lot of interesting figure, animal or structure also made by Lego.

Me and Wife at front of Legoland Gate

Bali in Miniland
We don't want to play in rush. So we didn't try too much attractions and rides. Several that we had tried are as follow. First is Legoland express. Simple large train build with structure like Lego that will move slowly around center of Legoland. Second we plan to try Project X. Some kind of 4 seater roller coaster. But we decide to cancel riding after queueing and saw several time that ride was jammed. Third ride we were trying Wave Racer. It was quite interesting ride. We were spinning in the middle of the pool on the ride that we can control to move to or from center. Sometime there will waterbomb that can make us little bit wet. Fourth we were riding a roller coaster. There are two roller coaster in Legoland The Dragon and The Dragon Apprentice(if we count Project X as roller coaster there will be three). The Dragon Apprentice is smaller and less challenged Roller Coaster, that's why we decide to ride it instead of The Dragon. Fifth, we ride some kind of carrosel with name Merlin Challenge. Sixth, we were trying Kids Power Toys. This ride will make some turn and we can pull and release a rope that connected to our sit. Not too special but still quite interesting. We plan to ride viewing tower but it was currently checked for some problem. The viewing tower will move the cabin from bottom to several meters high to the top where we can see suround view of whole Legoland.
Lego Einstein

The next attraction that we try was 4D show. Every hour usually will be played different movie. The show is played for about 10 to 15 minutes. The show is not so uncommon right now. 4D show with 3D movie, wind blow and snow. After watching 4D we ride Dino Island. This is water slider ride. This ride was exciting, although we can find similar ride in other theme park. The next ride is Lost Kingdom. We ride a kind of train with a gun attached there. On the way in we can use that laser gun to shoot a lot of 'evil' object with a censor. Every time we hit the target our score will be incremented on display at front of us.

The time move so fast. Our bus will pick up us around 9 PM to go back to Singapore. Before going out we alocate last time to ride Lego Boating School. Actually this is the most boring ride that we tried that day. Even we have to queue almost one hour. But since I went with my wife, it was still very enjoyable moment.

Finally we going out. Buy some KFC for our dinner on the bus otw back home.

In conclusion, I would like to say with given ticket price and the available ride and experiences that we can get, visiting Legoland is worth to visit.

Saturday, January 5, 2013

First Phone Interview for Software Development Engineer Position in

About few months ago, one of recruiter asking my CV through Linkedin and invite me for the recruitment that would be conducted in Singapore. The position is for Software Development Engineer that will be based in Seattle, US. With full of interest I decided to sent the CV and answer several question she asked. Unfortunately only few days before recruitment date, she informed me again that cannot proceed me further. At that time they can only proceed Singaporean or Australian citizen because US visa quota limit consideration for other citizenship including me as Indonesian (H-1B visa if I am not mistake). But she promised that in the beginning of 2013 (when visa limit quota will be reset) there will be another recruitment process.

Her promise is right. Just about 2 weeks ago another amazon recruiter contact me and offering one phone interview schedule for AWS Software Development Engineer position. With full enthusiasm I send her my available date and time. I also do some of researches for the preparation. According to the information I have gathered from internet, interview will be very technical and involve writing code. Until job offer, candidate have to pass up to 3 phone interview and whole day onsite interview.  I read many books about coding interview, other books about algorithm and some books about cloud computing. I also practiced a lot solving some coding problems.

Finally the interview has been conducted this Saturday morning 6.00 AM GMT+8 (Friday 2.00PM Seattle time). The interview who called me is very nice. He speak very clearly and we discussed a lot while I try to solve some coding problem. At the beginning he introduce himself then start asked some of my background, my project, what I did, etc. Next he asked some basic question about java keyword. Then finally we arrived at the coding challenge.

The first problem is: "Given binary search tree, write a method that will return the next node from given node!". Actually I have been anticipating such questions. But since I have to write in interview nuance, it make me little bit nervous and under pressure. I wrote the code in one online coding collaboration website, so both of us can see what I have written in real-time  After struggling some minutes finally I can finish the solution. I am not sure whether he satisfied or not.

The second problem he just asked me to get element with second most highest occurrences from and array of object.

someArrays = {"xx", "yy", "xx", "yy", "zz", "xx"}
xx shown up 3 times
yy shown up 2 times <-- this is the second most occurances
zz shown up 1 times

Actually this is also not should be too difficult. First, iterate onel time the array and push every object occurrences into a hashtable. Second, iterate hashtable and return the second most occured. But I was struggling how to get the key of most occurred object. I will write the solution in here, later.

Last, finally he asked me if I have any question. I just asked about what he do in Amazon. I also asked how many person inside one team. In conclusion I feel not satisfied with my interview. I supposed to perform better. But I should not be regret. I can use this experience as a trigger to learn more so can be more prepared if face same experience again. Not sure whether I can have next interview or not, but it is enjoying experience.

Wednesday, January 2, 2013

Fibonacci Sequence With and Without Recursion

Fibonacci sequence is sequence with subsequent number is the sum of the previous two. See snapshot below from wikipedia.

We can implement this algorithm either using recursion or without. Let see both.Before the implementation let see how is the sequence defined for every F(n).

F(0) = 1 or F(0) = 0 in some definition
F(1) = 1
F(n) = F(n-1) + F(n-2)

Now these are implementation using Java

With Recursion
int fibo(int in){
 if(n <= 1){
  return n
  return fibo(n-1) + fibo(n-2);
Without Recursion
int fibo(int n){
 if(n <= 1){
  return n;
 int fibo = 1;
 int fiboPrev = 1;
 for(int i = 2; i < n; ++i){
  int temp = fibo;
  fibo += fiboPrev;
  fiboPrev = temp;
 return fibo;