Saturday, July 25, 2015

Basics of swift: Introduction to class, methods and objects

Apple has released its new dynamic programming language called as swift and its pretty awesome.

From now on i will be releasing video tutorials of it so that I can explain you the concepts through videos and make you understand in much better way.

I request the readers of my blog post to visit the video URL and view the videos and in case if you are facing any issues or have any sort of difficulty in understanding any concept feel free to mention it as a comment or email me, I would be happy to help you.

Here is the first video tutorial on swift which will help beginners in understanding basic concepts on swift like building a class, method and objects.

Happy iCoding and Have a great day


Thursday, June 12, 2014

iOS interview question part 2

Hello Readers how are you long time no posts sorry about that i have been busy with work, i will be coming with new topics in the coming days but for now i have few interview questions for you to crunch on.

Been interviewing for a long time and i see that even after having good experience candidates fail to have the actual drill down knowledge of basic concepts and some of them mug up answers from google and repeat them word to word.

Today many of the companies are looking forward to a developer who are comfortable with native and hybrid development skills, now-a-days hybrid app development seems to be an important ace in your resume. My personal favorite will be native but i am too learning phonegap and will blog on that as well.

Given below are few set on my own interview questions that i ask candidates who are experienced / freshers so here it is feel free to ask question to me via comments / mail or leave a message on our facebook group. Happy iCoding and have a great day.

This is my second post on interview question do have a look at the first one here

1.   Difference between SEL and @selector.

2.   Difference between retain and copy? (The answer that I am looking for is memory wise and not some answer googled here and there)

3.   Difference between categories and extension?

4.   Explain responder chain? And how it works

5.   Difference between method calling and performSelector? What's the difference when you call a method using self and @selector

6.   When to use strong and weak reference?

7.   Why are IBOutlets and delegates declared as weak and not strong? And describe a case where you would declare delegates as strong

8.   Difference between atomic and non-atomic, Is atomic thread safe if YES then why YES and if NO then why NO?

9.   Explain sandboxing in iOS app?

10.  How to upload an enterprise app without using any third party tool?

11. Difference between Core Data and SQLITE? (Note : Mostly people are asking how both work in a multi threading environment so be prepared accordingly)

12. How does a table cell work?

13. In ARC how does the compiler know that a certain object is not required?

14. Why and when do we make use of blocks in our code?

15. How does an SSL certificate work?

16. What will you use storyboard or XIB’s and why?

17. How will you convert an iOS 6 app to iOS 7?

18. What does code signing mean?

19. Explain toll-free bridging in iOS?

20. Explain the life cycle of a ViewController?

21. Explain life cycle of an iOS app?

22. What is the use of self = [super init]?

23. Sizes of the entire iphone and ipad screen?

24. Difference between NSURLConnection and NSURLSession?

25. Better to read some new features in the latest SDK.

26. You need to call a webservice and lets say your app is in background for 2 days how will you achieve this in iOS 6?

27. How will the user submit you crash report of your app, all you have provided is just the email of your support team?

28. Difference between notification and delegate?

29. How will you create your own NSMutableArray class (This is a fav question of mine I ask this question so that I come to know how much you can think).

30. Read on how to upload an enterprise app and what are the necessary accounts or certificates required in this process.
31.  Explain the iOS architecture OR explain the iphone OS architecture?
32.  Your app is present in a jail break device so how will you make sure that the attacker does not get to sniff in plist files, User defaults or sqlite database present in the app sandbox?

So this was related with iOS development related questions few of my personal favorite are given below

1.   Find the factorial of a number without using any for, while, do-while or go-to?

2.   How will you multiply two numbers without using any arithmetic operator and math library?

3.  What happens if I make a web service call in the app did finish loading method and give the timeout interval as 20 minutes? Note: I am making a synchronous call here

4.   Difference between agile and waterfall model?

5.   Explain PGP i.e pretty good privacy and how does it work?

6.   Difference between encryption, cryptography and hashing?

7.   Difference between final and const (something out of objective C)

8.   Assuming I have an array filled with numbers from 1 to 6000 in this array at a given point there is a number that is duplicate, tell me the optimum solution to find that number using a single loop.

9.   Why objective C is called as a runtime language? (Pretty Basic :P )

10.   What is the difference between deep copy and shallow copy? And how will you implement this in objective C

11.   What is the meaning of HTTP and what does it do and why is HTTPS secure than HTTP?

Thursday, December 12, 2013

Phonegap introduction

In this tutorial we will discuss what is phonegap and what makes it so cool

Phonegap is a mobile development framework it was originally built by Nitobi and later was purchased by Adobe systems. Phonegap helps you to create mobile apps by making use of HTML5, javascript and CSS instead of the device specific language (Objective C, C#, Java).

The apps which are made in phonegap are called as hybrid apps, hybrid apps because the UI rendering is done as part of web and to call the native controllers like the image, camera or sqlite database etc you have access to these device specific API’s (we will talk about it later). If you are planning to use phonegap in your next project then I would suggest you to make sure that your HTML, CSS and javascript skills are clean.

By using phonegap you are at the same time developing apps for multiple platforms, you can take advantage of the concept called as plugins to do device specific work in case if you do not find a device API for the same.

Example: If you just want to show a native alert in a phonegap based app, then you can write your own plugin.

The app, which uses phonegap framework, makes use of the native webview, all the styling and UI rendering is maintained with the help of CSS and javascript. Also note that phonegap is an open source framework.

The various operating system supported by phonegap are as follows:

Apple iOS
LG webOS
Symbian OS
Bada OS
Ubuntu touch

While beginning the learning phase a question raised in my mind like whenever I search phonegap this cordova thing used to come up and it was like so confusing at the first place but finally got the answer to it.

Above I mentioned that now phonegap is owned by adobe, what adobe did later was they donated the phonegap codebase to Apache software foundation (ASF), later phonegap was renamed to Apache callback which the apache community found was not so cool so they renamed it to Cordova, Cordova hmmmm is their  a meaning in this name while yes phonegap was a project that was born in Nitobi company which was located in Cordova Street in Vancouver,well now the name makes sense.

The next question that I had in my mind was like what is the difference between phonegap and Apache Cordova?

After visiting few links I found that you could think of the apache cordova as the engine that powers a car named phonegap. To be more specific Apache cordova has a set of device level API’s with the help of which you can access the device level controllers like the accelerometer, camera, etc with the help of apache cordova you can build native mobile apps using HTML, CSS and Javascript.

Coming to phonegap now, phonegap is a distribution of apache cordova you may think of apache cordova as the heart and phonegap as arteries that supply blood to all the parts of your body. So basically that makes phonegap as the supplier of cordova and its device based API’s.

If the above example did not impress you then here’s a common example that you might have came across, you can think of cordova like the webkit which powers safari or chrome.

If you want to know more then here’s a FAQ guide from phonegap itself.

If you are planning to install cordova then please visit this link that contains simple step by step written for installation. Also you need to download the cordova source from here because to create cordova based app you need to use the command lineterminal.

I hope that i was able to clear few things regarding phonegap in the next post we will see more about it, if you have any question then feel free to mail me or leave it as a comment until then Happy iCoding and have a great day.