Wednesday 17 August 2011

HCL company profile

HCL Company Profile

HCL Enterprise is a leading Global Technology and IT enterprise that comprises two companies listed in India - HCL Technologies & HCL Infosystems. The 3-decade-old enterprise, founded in 1976, is one of India’s original IT garage start-ups. Its range of offerings span Product Engineering, Technology and Application Services, BPO, Infrastructure Services, IT Hardware, Systems Integration, and distribution of ICT products. The HCL team comprises approximately 45,000 professionals of diverse nationalities, who operate from 17 countries including 300 points of presence in India. HCL has global partnerships with several leading Fortune 1000 firms, including leading IT and Technology firms.

HCL Technologies is one of India’s leading global IT Services companies, providing software-led IT solutions, remote infrastructure management services and BPO. Having made a foray into the global IT landscape in 1999 after its IPO, HCL Technologies focuses on Transformational Outsourcing, working with clients in areas that impact and re-define the core of their business. The company leverages an extensive global offshore infrastructure and its global network of offices in 17 countries to deliver solutions across select verticals including Financial Services, Retail & Consumer, Life Sciences Aerospace, Automotive, Semiconductors, Telecom and MPE (Media Publishing & Entertainment). For the quarter ending 31st March 2007, HCL Technologies, along with its subsidiaries had revenue (TTM) of US $ 1.27 billion (Rs. 5675 crore).
HCL Technologies operates through 29 offices in 14 countries in United States, Europe, Japan, Asia Pacific. The Group's principal activity is to provide software services, delivered to customers located globally. The Group also provides networking services including sale of networking equipment, software and business process outsourcing services. Currently, the Group serves global markets through offices in the United States, Asia Pacific, Europe and Japan
The company acquired Liberata Financial Services Ltd. on 2nd Sep 2008, Liberata confirmed the sale of Liberata Financial Services Ltd. (LFS) to HCL for an undisclosed sum, following approval for change of control from the Financial Services Authority.
On 15th Dec 2008 it acquired AXON Group plc (UK), and was renamed HCL AXON , the largest acquisition in the history of the Indian IT industry, surpassing Wipro’s $600-million acquisition of Infocrossing in 2007.

Services
HCL Infrastructure Services Division (also known as HCL Comnet), specializes in remote IT infrastructure management services. HCL BPO Services provides a comprehensive range of Voice/Web based contact and front office services. It represents HCL Technologies’ most significant strategic business extension and investment to date. HCL BPO Services currently operates out of various locations in India, Malaysia and Northern Ireland.

Industry Information Technology Services
Revenue USD 5 Billion
Employees 58,000 (2009)
Contact
HCL Infosystems Ltd.
E-4, 5 & 6,
Sector 11,
NOIDA 201 301,
UP,
India
For more details please visit www.hcl.in

Infosys company profile

Infosys Company Profile
Infosys Technologies provides software development and engineering through a network
of development centers in Asia, Europe, and North America. It also provides data management, systems integration, project management, support, and maintenance services. Its Infosys BPO subsidiary offers business process outsourcing (BPO) services, and US-based Infosys Consulting provides strategic consulting. Infosys has rapidly expanded its presence in international markets, particularly in North America, which accounts for more than 60% of sales. we use a low-risk Global Delivery Model (GDM) to accelerate schedules with a high degree of time and cost predictability. Infosys has a global footprint with over 50 offices and development centers in India, China, Australia, the Czech Republic, Poland, the UK, Canada and Japan. Infosys has over 100,000 employees.
Infosys Technologies is a leading Information Technology (IT) company which provides end-to-end business solutions that leverage technology. Infosys serves the client globally and as one of the pioneers in strategic offshore outsourcing of software services, it has leveraged the global trend of offshore outsourcing. Infosys helps large global corporations and new generation technology companies in building new products or services and in implementing prudent business and technology strategies in the contemporary dynamic digital environment.
Infosys defines, designs and delivers technology-enabled business solutions that help Global 2000 companies win in a Flat World. Infosys also provides a complete range of services by leveraging our domain and business expertise and strategic alliances with leading technology providers.
Headquarters Bangalore Area, India
Industry Information Technology and Services
Type Public Company
Status Operating
Company Size 110,561 employees
2008 Revenue $4,180
Founded 1981
Contact
6607 Kaiser Drive
Fremont,
CA US 94555

Infosys India
Infosys emphasizes every aspect of IT. Infosys a Bangalore based company started in 1981 has around 5,500 employees and hopes to double this figure to 10,000 till the end of year 2003(courtesyBusiiness India). Infosys emphasizes every aspect of IT. One of India's leading technology services firms, Infosys Technologies provides software development and engineering. It also provides data management, systems integration, project management, support, and maintenance services. Its Infosys BPO subsidiary offers business process outsourcing (BPO) services, and US-based Infosys Consulting provides strategic consulting. Infosys has rapidly expanded its presence in international markets, particularly in North America, which accounts for more than 60% of sales. The company has offices in more than 20 countries.
The highest rated script on the Indian bourses - Infosys is the most admired company on the BSE. It is the face of the Indian software industry. The company was the first in India to register on the American stock exchange - NASDAQ with an issue of two million American Depository Shares (ADR) that raised $70 million.
They have offices at Mohali, Mumbai, Mysore, New Delhi, Bangalore, Bhubaneswar, Chennai, Hyderabad, Mangalore, Pune, Thiruvananthapuram, Zurich.
Contact
Electronics City,
Hosur Road
Bangalore,
Karnataka 560 100,
India
For more details please visit www.infosys.com

Java interview questions and answers

Describe what happens when an object is created in Java?
Several things happen in a particular order to ensure the object is constructed properly:
1. Memory is allocated from heap to hold all instance variables and implementation-specific data of the object and its superclasses. Implementation-specific data includes pointers to class and method data.
2. The instance variables of the objects are initialized to their default values.
3. The constructor for the most derived class is invoked. The first thing a constructor does is call the constructor for its uppercase. This process continues until the constructor for java.lang.Object is called, as java.lang.Object is the base class for all objects in java.
4. Before the body of the constructor is executed, all instance variable initializers and initialization blocks are executed. Then the body of the constructor is executed. Thus, the constructor for the base class completes first and constructor for the most derived class completes last.

In Java, you can create a String object as below : String str = "abc"; & String str = new String("abc");  Why cant a button object be created as : Button bt = "abc"? Why is it compulsory to create a button object as: Button bt = new Button("abc"); Why this is not compulsory in String’s case?
Button bt1= "abc"; It is because "abc" is a literal string (something slightly different than a String object, by-the-way) and bt1 is a Button object. That simple. The only object in Java that can be assigned a literal String is java.lang.String. Important to not that you are NOT calling a java.lang.String constuctor when you type String s = "abc"; For example String x = "abc"; String y = "abc"; refer to the same object. While String x1 = new String("abc");
String x2 = new String("abc"); refer to two different objects.
What is the advantage of OOP?
You will get varying answers to this question depending on whom you ask. Major advantages of OOP are:
1. Simplicity: software objects model real world objects, so the complexity is reduced and the program structure is very clear;
2. Modularity: each object forms a separate entity whose internal workings are decoupled from other parts of the system;
3. Modifiability: it is easy to make minor changes in the data representation or the procedures in an OO program. Changes inside a class do not affect any other part of a program, since the only public interface that the external world has to a class is through the use of methods;
4. Extensibility: adding new features or responding to changing operating environments can be solved by introducing a few new objects and modifying some existing ones;
5. Maintainability: objects can be maintained separately, making locating and fixing problems easier;
6. Re-usability: objects can be reused in different programs
What are the main differences between Java and C++?
Everything is an object in Java( Single root hierarchy as everything gets derived from java.lang.Object). Java does not have all the complicated aspects of C++ ( For ex: Pointers, templates, unions, operator overloading, structures etc..)  The Java language promoters initially said "No pointers!", but when many programmers questioned how you can work without pointers, the promoters began saying "Restricted pointers." You can make up your mind whether it’s really a pointer or not. In any event, there’s no pointer arithmetic. There are no destructors in Java. (automatic garbage collection),  Java does not support conditional compile (#ifdef/#ifndef type). Thread support is built into java but not in C++. Java does not support default arguments. There’s no scope resolution operator :: in Java. Java uses the dot for everything, but can get away with it since you can define elements only within a class. Even the method definitions must always occur within a class, so there is no need for scope resolution there either. There’s no "goto " statement in Java. Java doesn’t provide multiple inheritance (MI), at least not in the same sense that C++ does. Exception handling in Java is different because there are no destructors. Java has method overloading, but no operator overloading. The String class does use the + and += operators to concatenate strings and String expressions use automatic type conversion, but that’s a special built-in case. Java is interpreted for the most part and hence platform independent
What are interfaces?
Interfaces provide more sophisticated ways to organize and control the objects in your system.
The interface keyword takes the abstract concept one step further. You could think of it as a “pure” abstract class. It allows the creator to establish the form for a class: method names, argument lists, and return types, but no method bodies. An interface can also contain fields, but The interface keyword takes the abstract concept one step further. You could think of it as a “pure” abstract class. It allows the creator to establish the form for a class: method names, argument lists, and return types, but no method bodies. An interface can also contain fields, but an interface says: “This is what all classes that implement this particular interface will look like.” Thus, any code that uses a particular interface knows what methods might be called for that interface, and that’s all. So the interface is used to establish a “protocol” between classes. (Some object-oriented programming languages have a keyword called protocol to do the same thing.)  Typical example from "Thinking in Java":
import java.util.*;
interface Instrument {
int i = 5; // static & final
// Cannot have method definitions:
void play(); // Automatically public
String what();
void adjust();
}
class Wind implements Instrument {
public void play() {
System.out.println("Wind.play()");
public String what() { return "Wind"; }
public void adjust() {}
}
How can you achieve Multiple Inheritance in Java?
Java’s interface mechanism can be used to implement multiple inheritance, with one important difference from c++ way of doing MI: the inherited interfaces must be abstract. This obviates the need to choose between different implementations, as with interfaces there are no implementations.
interface CanFight {
void fight();
interface CanSwim {
void swim();
interface CanFly {
void fly();
class ActionCharacter {
public void fight() {}
class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly {
public void swim() {}
public void fly() {}
}
You can even achieve a form of multiple inheritance where you can use the *functionality* of classes rather than just the interface:
interface A {
void methodA();
}
class AImpl implements A {
void methodA() { //do stuff }
}
interface B {
void methodB();
}
class BImpl implements B {
void methodB() { //do stuff }
}
class Multiple implements A, B {
private A a = new A();
private B b = new B();
void methodA() { a.methodA(); }
void methodB() { b.methodB(); }
}
This completely solves the traditional problems of multiple inheritance in C++ where name clashes occur between multiple base classes. The coder of the derived class will have to explicitly resolve any clashes. Don’t you hate people who point out minor typos? Everything in the previous example is correct, except you need to instantiate an AImpl and BImpl. So class Multiple would look like this:
class Multiple implements A, B {
private A a = new AImpl();
private B b = new BImpl();
void methodA() { a.methodA(); }
void methodB() { b.methodB(); }
}
What is the difference between StringBuffer and String class?
A string buffer implements a mutable sequence of characters. A string buffer is like a String, but can be modified. At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls. The String class represents character strings. All string literals in Java programs, such as "abc" are constant and implemented as instances of this class; their values cannot be changed after they are created. Strings in Java are known to be immutable. What it means is that every time you need to make a change to a String variable, behind the scene, a "new" String is actually being created by the JVM. For an example: if you change your String variable 2 times, then you end up with 3 Strings: one current and 2 that are ready for garbage collection. The garbage collection cycle is quite unpredictable and these additional unwanted Strings will take up memory until that cycle occurs. For better performance, use StringBuffers for string-type data that will be reused or changed frequently. There is more overhead per class than using String, but you will end up with less overall classes and consequently consume less memory. Describe, in general, how java’s garbage collector works? The Java runtime environment deletes objects when it determines that they are no longer being used. This process is known as garbage collection. The Java runtime environment supports a garbage collector that periodically frees the memory used by objects that are no longer needed. The Java garbage collector is a mark-sweep garbage collector that scans Java’s dynamic memory areas for objects, marking those that are referenced. After all possible paths to objects are investigated, those objects that are not marked (i.e. are not referenced) are known to be garbage and are collected. (A more complete description of our garbage collection algorithm might be "A compacting, mark-sweep collector with some conservative scanning".) The garbage collector runs synchronously when the system runs out of memory, or in response to a request from a Java program. Your Java program can ask the garbage collector to run at any time by calling System.gc(). The garbage collector requires about 20 milliseconds to complete its task so, your program should only run the garbage collector when there will be no performance impact and the program anticipates an idle period long enough for the garbage collector to finish its job. Note: Asking the garbage collection to run does not guarantee that your objects will be garbage collected. The Java garbage collector runs asynchronously when the system is idle on systems that allow the Java runtime to note when a thread has begun and to interrupt another thread (such as Windows 95). As soon as another thread becomes active, the garbage collector is asked to get to a consistent state and then terminate.
What’s the difference between == and equals method?
equals checks for the content of the string objects while == checks for the fact that the two String objects point to same memory location ie they are same references.
What are abstract classes, abstract methods?
Simply speaking a class or a method qualified with "abstract" keyword is an abstract class or abstract method. You create an abstract class when you want to manipulate a set of classes through a common interface. All derived-class methods that match the signature of the base-class declaration will be called using the dynamic binding mechanism. If you have an abstract class, objects of that class almost always have no meaning. That is, abstract class is meant to express only the interface and sometimes some default method implementations, and not a particular implementation, so creating an abstract class object makes no sense and are not allowed ( compile will give you an error message if you try to create one). An abstract method is an incomplete method. It has only a declaration and no method body. Here is the syntax for an abstract method declaration: abstract void f(); If a class contains one or more abstract methods, the class must be qualified an abstract. (Otherwise, the compiler gives you an error message.). It’s possible to create a class as abstract without including any abstract methods. This is useful when you’ve got a class in which it doesn’t make sense to have any abstract methods, and yet you want to prevent any instances of that class. Abstract classes and methods are created because they make the abstractness of a class explicit, and tell both the user and the compiler how it was intended to be used.
For example:
abstract class Instrument {
int i; // storage allocated for each
public abstract void play();
public String what() {
return "Instrument";
public abstract void adjust();
}
class Wind extends Instrument {
public void play() {
System.out.println("Wind.play()");
}
public String what() { return "Wind"; }
public void adjust() {}
Abstract classes are classes for which there can be no instances at run time. i.e. the implementation of the abstract classes are not complete. Abstract methods are methods which have no defintion. i.e. abstract methods have to be implemented in one of the sub classes or else that class will also become Abstract.
What is the difference between an Applet and an Application?
A Java application is made up of a main() method declared as public static void that accepts a string array argument, along with any other classes that main() calls. It lives in the environment that the host OS provides. A Java applet is made up of at least one public class that has to be subclassed from java.awt.Applet. The applet is confined to living in the user’s Web browser, and the browser’s security rules, (or Sun’s appletviewer, which has fewer restrictions).  The differences between an applet and an application are as follows:
1. Applets can be embedded in HTML pages and downloaded over the Internet whereas Applications have no special support in HTML for embedding or downloading.
2. Applets can only be executed inside a java compatible container, such as a browser or appletviewer whereas Applications are executed at command line by java.exe or jview.exe.
3. Applets execute under strict security limitations that disallow certain operations(sandbox model security) whereas Applications have no inherent security restrictions.
4. Applets don’t have the main() method as in applications. Instead they operate on an entirely different mechanism where they are initialized by init(),started by start(),stopped by stop() or destroyed by destroy().
Java says "write once, run anywhere". What are some ways this isn’t quite true?
As long as all implementaions of java are certified by sun as 100% pure java this promise of "Write once, Run everywhere" will hold true. But as soon as various java core implemenations start digressing from each other, this won’t be true anymore. A recent example of a questionable business tactic is the surreptitious behavior and interface modification of some of Java’s core classes in their own implementation of Java. Programmers who do not recognize these undocumented changes can build their applications expecting them to run anywhere that Java can be found, only to discover that their code works only on Microsoft’s own Virtual Machine, which is only available on Microsoft’s own operating systems.
What is the difference between a Vector and an Array. Discuss the advantages and disadvantages of both?
Vector can contain objects of different types whereas array can contain objects only of a single type.
- Vector can expand at run-time, while array length is fixed.
- Vector methods are synchronized while Array methods are not
What are java beans?
JavaBeans is a portable, platform-independent component model written in the Java programming language, developed in collaboration with industry leaders. It enables developers to write reusable components once and run them anywhere — benefiting from the platform-independent power of Java technology. JavaBeans acts as a Bridge between proprietary component models and provides a seamless and powerful means for developers to build components that run in ActiveX container applications. JavaBeans are usual Java classes which adhere to certain coding conventions:
1. Implements java.io.Serializable interface
2. Provides no argument constructor
3. Provides getter and setter methods for accessing it’s properties
What is RMI?
RMI stands for Remote Method Invocation. Traditional approaches to executing code on other machines across a network have been confusing as well as tedious and error-prone to implement. The nicest way to think about this problem is that some object happens to live on another machine, and that you can send a message to the remote object and get a result as if the object lived on your local machine. This simplification is exactly what Java Remote Method Invocation (RMI) allows you to do. Above excerpt is from "Thinking in java". For more information refer to any book on Java.
What does the keyword "synchronize" mean in java. When do you use it? What are the disadvantages of synchronization?
Synchronize is used when you want to make your methods thread safe. The disadvantage of synchronize is it will end up in slowing down the program. Also if not handled properly it will end up in dead lock.
What gives java it’s "write once and run anywhere" nature?
Java is compiled to be a byte code which is the intermediate language between source code and machine code. This byte code is not platorm specific and hence can be fed to any platform. After being fed to the JVM, which is specific to a particular operating system, the code platform specific machine code is generated thus making java platform independent.
What are native methods? How do you use them?
Native methods are methods written in other languages like C, C++, or even assembly language. You can call native methods from Java using JNI. Native methods are used when the implementation of a particular method is present in language other than Java say C, C++. To use the native methods in java we use the keyword native
public native method_a(). This native keyword is signal to the java compiler that the implementation of this method is in a language other than java. Native methods are used when we realize that it would take up a lot of rework to write that piece of already existing code in other language to Java.
What is JDBC? Describe the steps needed to execute a SQL query using JDBC.
We can connect to databases from java using JDBC. It stands for Java DataBase Connectivity.
Here are the steps:
1. Register the jdbc driver with the driver manager
2. Establish jdbc connection
3. Execute an sql statement
4. Process the results
5. Close the connection
Before doing these do import java.sql.*
JDBC is java based API for accessing data from the relational databases. JDBC provides a set of classes and interfaces for doing various database operations. The steps are:
Register/load the jdbc driver with the driver manager.
Establish the connection thru DriverManager.getConnection();
Fire a SQL thru conn.executeStatement();
Fetch the results in a result set
Process the results
Close statement/result set and connection object.
How many different types of JDBC drivers are present? Discuss them.
There are four JDBC driver types.
Type 1: JDBC-ODBC Bridge plus ODBC Driver:
The first type of JDBC driver is the JDBC-ODBC Bridge. It is a driver that provides JDBC access to databases through ODBC drivers. The ODBC driver must be configured on the client for the bridge to work. This driver type is commonly used for prototyping or when there is no JDBC driver available for a particular DBMS.
Type 2: Native-API partly-Java Driver:
The Native to API driver converts JDBC commands to DBMS-specific native calls. This is much like the restriction of Type 1 drivers. The client must have some binary code loaded on its machine. These drivers do have an advantage over Type 1 drivers because they interface directly with the database.
Type 3: JDBC-Net Pure Java Driver:
The JDBC-Net drivers are a three-tier solution. This type of driver translates JDBC calls into a database-independent network protocol that is sent to a middleware server. This server then translates this DBMS-independent protocol into a DBMS-specific protocol, which is sent
to a particular database. The results are then routed back through the middleware server and sent back to the client. This type of solution makes it possible to implement a pure Java client. It also makes it possible to swap databases without affecting the client.
Type 4: Native-Protocol Pure Java Driver
These are pure Java drivers that communicate directly with the vendor’s database. They do this by converting JDBC commands directly into the database engine’s native protocol. This driver has no additional translation or middleware layer, which improves performance tremendously.
What does the "static" keyword mean in front of a variable? A method? A class? Curly braces {}?
static variable
- means a class level variable
static method:
-does not have "this". It is not allowed to access the not static members of the class.
can be invoked enev before a single instance of a class is created.
eg: main
static class:
no such thing.
static free floating block:
is executed at the time the class is loaded. There can be multiple such blocks. This may be useful to load native libraries when using native methods.
eg:
native void doThis(){
static{
System.loadLibrary("myLibrary.lib");
}
Access specifiers: "public", "protected", "private", nothing?
In the case of Public, Private and Protected, that is used to describe which programs can access that class or method: Public – any other class from any package can instantiate and execute the classes and methods. Protected – only subclasses and classes inside of the package can access the classes and methods. Private – the original class is the only class allowed to executed the methods.
What does the "final" keyword mean in front of a variable? A method? A class?
FINAL for a variable : value is constant
FINAL for a method : cannot be overridden
FINAL for a class : cannot be derived
A final variable cannot be reassigned,
but it is not constant. For instance,
final StringBuffer x = new StringBuffer()
x.append("hello");
is valid. X cannot have a new value in it,but nothing stops operations on the object
that it refers, including destructive operations. Also, a final method cannot be overridden
or hidden by new access specifications.This means that the compiler can choose
to in-line the invocation of such a method.(I don’t know if any compiler actually does
this, but it’s true in theory.) The best example of a final class is
String, which defines a class that cannot be derived.
Does Java have "goto"?
No.
What synchronization constructs does Java provide? How do they work?
The two common features that are used are:
1. Synchronized keyword - Used to synchronize a method or a block of code. When you synchronize a method, you are in effect synchronizing the code within the method using the monitor of the current object for the lock.
The following have the same effect.
synchronized void foo() {
}
and
void foo() {
synchronized(this) {
}
If you synchronize a static method, then you are synchronizing across all objects of the same class, i.e. the monitor you are using for the lock is one per class, not one per object.
2. wait/notify. wait() needs to be called from within a synchronized block. It will first release the lock acquired from the synchronization and then wait for a signal. In Posix C, this part is equivalent to the pthread_cond_wait method, which waits for an OS signal to continue. When somebody calls notify() on the object, this will signal the code which has been waiting, and the code will continue from that point. If there are several sections of code that are in the wait state, you can call notifyAll() which will notify all threads that are waiting on the monitor for the current object. Remember that both wait() and notify() have to be called from blocks of code that are synchronized on the monitor for the current object.
Does Java have multiple inheritance?
Java does not support multiple inheritence directly but it does thru the concept of interfaces.
We can make a class implement a number of interfaces if we want to achieve multiple inheritence type of functionality of C++.
How does exception handling work in Java?
1.It separates the working/functional code from the error-handling code by way of try-catch clauses.
2.It allows a clean path for error propagation. If the called method encounters a situation it can’t manage, it can throw an exception and let the calling method deal with it.
3.By enlisting the compiler to ensure that "exceptional" situations are anticipated and accounted for, it enforces powerful coding.
4.Exceptions are of two types: Compiler-enforced exceptions, or checked exceptions. Runtime exceptions, or unchecked exceptions. Compiler-enforced (checked) exceptions are instances of the Exception class or one of its subclasses — excluding the RuntimeException branch. The compiler expects all checked exceptions to be appropriately handled. Checked exceptions must be declared in the throws clause of the method throwing them — assuming, of course, they’re not being caught within that same method. The calling method must take care of these exceptions by either catching or declaring them in its throws clause. Thus, making an exception checked forces the us to pay heed to the possibility of it being thrown. An example of a checked exception is java.io.IOException. As the name suggests, it throws whenever an input/output operation is abnormally terminated.
Does Java have destructors?
Garbage collector does the job working in the background
Java does not have destructors; but it has finalizers that does a similar job.
the syntax is
public void finalize(){
}
if an object has a finalizer, the method is invoked before the system garbage collects the object
What does the "abstract" keyword mean in front of a method? A class?
Abstract keyword declares either a method or a class.
If a method has a abstract keyword in front of it,it is called abstract method.Abstract method hs no body.It has only arguments and return type.Abstract methods act as placeholder methods that are implemented in the subclasses.
Abstract classes can’t be instantiated.If a class is declared as abstract,no objects of that class can be created.If a class contains any abstract method it must be declared as abstract
Are Java constructors inherited ? If not, why not?
You cannot inherit a constructor. That is, you cannot create a instance of a subclass using a constructor of one of it’s superclasses. One of the main reasons is because you probably don’t want to overide the superclasses constructor, which would be possible if they were inherited. By giving the developer the ability to override a superclasses constructor you would erode the encapsulation abilities of the language.

Tuesday 16 August 2011

Wipro Company Profile

Wipro Technologies is a global services provider delivering technology-driven business solutions that meet the strategic objectives of our clients. Wipro has 55+ ‘Centers of Excellence’ that create solutions around specific needs of industries. Wipro delivers unmatched business value to customers through a combination of process excellence, quality frameworks and service delivery innovation. Wipro is the World's first CMMi Level 5 certified software services company and the first outside USA to receive the IEEE Software Process Award.Azim H. Premji has been Wipro Ltd.'s Chairman of the Board and Managing Director since September 1968. Mr. Premji holds a Bachelor of Science in Electrical Engineering from Stanford University. Currently, he is also a Director of Media Lab Asia.
The largest independent R&D Services provider in the world
*Over half billion revenue from R&D
*Among the top 3 offshore BPO services provider in the world
*A strategic partner to five of the top ten most innovative companies in the world
*Only Indian company to be ranked among the top 10 global outsourcing providers in IAOP's 2006 Global Outsourcing 100 listing
With over 25 years in the Information Technology business, Wipro Technologies is the largest outsourced R & D Services provider and one of the pioneers in the remote delivery of IT services. Being a global provider of consulting, IT Services, outsourced R&D, infrastructure outsourcing and business process services, we deliver technology-driven business solutions that meet the strategic objectives of our Global 2000 customers.
We are ranked 20 th in the Global Top Companies for Leaders 2007 and ranked #5 in the Asia-Pacific Region. (By Hewitt Associates, Fortune Magazine and the RBL group)
Wipro has a well-defined and robust partner ecosystem. This enables it to provide a complete range of R&D/product engineering solutions to its customers.It uses the "extended engineering" model (where a technology company opens its R&D department to external engineering partners) to leverage R&D investment, access new knowledge, and gain experience globally.
Wipro’s revenue for these services grew by 30% as against head count growth of 24.1%. This speaks volumes about Wipro’s capability to maximize its asset utilization.
Wipro has a well-defined end-to-end service offering strategy. This will enable it to get additional portions of its customers’ business.

Wipro’s top 5 customers contribute to about 33.5% of its revenue. This ratio is on the higher side, and Wipro should work toward reducing this dependency to about 25%.
Services
*Business Intelligence & Information Management
*Business Process Management (BPM)
*Portals & Content Management
*Enterprise Applications Services
*Enterprise Security
*Legacy Migration
*Quality Consulting
*Enterprise Business Integration
*Tandem NonStop Application Services
*Testing Services
*Service Oriented Architecture

Global Footprint
Wipro today employs 96,000 people in over 50 countries. We continue to expand our global footprint across the world by providing comprehensive IT solutions and services, including systems integration, information systems outsourcing, package implementation, software application development and maintenance and research and development services to Global 2000 customers utilizing a Global Services Delivery Platform.
Wipro and Innovation
At Wipro, innovation is more than just a passion. It's our philosophy. We believe in innovation and express it through out-of-the-box approaches. We encourage and drive our people to study the best innovative practices from companies across the world and leverage the best solution possible for our customers. Over 11% of our global revenue today is a direct result of innovation. As an integral part of innovation, you will continuously face challenges to create a better tomorrow. This means, you will develop solutions that are future-ready, have international acceptance and are easy to implement.
Opportunities for careers
A career at Wipro means to learn and grow continuously, opportunities to work on the latest technologies alongside the finest minds in the industry, competitive salaries, stock options and excellent benefits. We offer challenging assignments, a world-class working environment, professional management and ample opportunities to train and learn, along with exceptional rewards.
*We at Wipro can proudly say that very few software service organizations can match the wide spectrum of technologies we work on. Each of which is treated with special focus and constantly upgraded to meet the needs of the future. Telecommunications, Systems Software, Communication protocols, Wireless technologies, Next generation networks, Hardware design, VLSI, Applications and Gateways, Bluetooth, DSL, Cable modems, E-Commerce, Datawarehousing, SCM, CRM, ERP - whatever your area of expertise may be, we have a challenging career for you.
*We offer Product Realization, reengineering and Design Services in technology areas like, Datacom, Networking and Embedded Systems. Opportunities in Technology Infrastructure Services and Testing are also available.
Opportunities for Growth
Wipro gives you the freedom to take risks.
Moreover, you can count on highly motivated and talented colleagues to support you with constructive feedback to ensure that you succeed.
It goes without saying that exemplary performance is unquestionably rewarded at Wipro. We have a structured 360o performance review process. There are various awards and recognition programs, which have been institutionalized across the organization. We constantly enhance our reward program to motivate and encourage you to achieve your goals.
Our rigorous Talent Engagement and Development program nurtures talent and builds leaders diligently. Wipro is built on a foundation of core values. These values help you become a consistent performer with an intense desire to win, act with sensitivity, sincerity and unyielding integrity.
Your career at Wipro is your path to choose. 'Wings Within', an internal and transparent job posting system, gives you the flexibility to apply to the job of your choice and map your own career.
2008 revenues at Wipro Limited (ADR) totaled $4.9B, while annual earnings equaled $0.55 per share.
Divisions
• Wipro BPO
• Wipro Spectramind
• Wipro Infotech Ltd
• Wipro Consulting
• Infocrossing
Headquarters Bangalore Area, India
Industry Information Technology and Services
Type Public Company
Status Operating Subsidiary
Company Size Around 96,000

Address:
Headquarters
Doddakannelli Sarjapur Road
Bangalore, Karnataka 560 035
India

For careers in wipro please visit www.wipro.com/careers/index.htm
For more details please visit www.wipro.com

TCS COMPANY PROFILE

Tata Consultancy Services (TCS)
Tata Consultancy Services (TCS) is the world-leading information technology consulting, services, and business process outsourcing organization that envisioned and pioneered the adoption of the flexible global business practices that today enable companies to operate more efficiently and produce more value.

Tata Consultancy Services started in 1968. The early days marked TCS responsible in managing the punch card operations of Tisco. The company, which was into management consultancy from day one, soon felt the need to provide solutions to its clients as well. TCS was the first Indian company to make forays into the US market with clients ranging from IBM, American Express, Sega etc.
TCS’s work has spanned a range of activities, from strategy consulting and system integration services to offshore development centres for some of the most sophisticated software development in the world. Consider these facts about TCS:

Projects for over 1000 clients in more than 55 countries. Our clients get measurable business results, which is why many Fortune 500 companies prefer TCS. More than 100,000 person years of experience in diverse business domains and technology areas.

Knowledge accumulation through collaborative research with industry and academia, and partnerships with global technology leaders.
The company recorded revenues of INR186,332.1 million (approximately $4,129 million) during the fiscal year ended March 2007, an increase of 40.7% over 2006. The operating profit of the company was INR46,444.4 million (approximately $1,029 million) during fiscal year 2007, an increase of 37% over 2006. The net profit was INR41,315.3 million (approximately $ 916 million) in fiscal year 2007, an increase of 43.3% over 2006.
A part of the Tata Group, India’s largest industrial conglomerate, TCS has over 120,000 of the world's best trained IT consultants in 42 countries. The Company generated consolidated revenues of US $5.7 billion for fiscal year ended 31 March, 2008 and is listed on the National Stock Exchange and Bombay Stock Exchange in India
Over 28,000 consultants, a range of world-class products, proven offshore development
capabilities, and multiple SEI CMM Level 5 centres.

Total revenues of Rs 5,012 crore ($ 1.04 billion) in the year ended March 31, 2003.
TCS believes that IT is a key factor for social change and is committed to several community development ventures.

If you have the talent and the ambition to grow, there's plenty of space for you at TCS. Its streams of competence embrace everything from technology and strategy to research and teaching
Specialties
IT Services, Business Solutions, Outsourcing, Consulting
Financial Highlights
Fiscal Year End: March
Revenue (2008): 5722.20 M
Revenue Growth (1 yr): 33.40%
Employees (2008): 108,000
Employee Growth (1 yr): 27.10%
Headquarters Bombay Area, India
Industry Information Technology and Services
Type Public Company
Status Operating
Company Size 120,000 employees
2007 Revenue 188,682 mil [INR] (41%)
Founded 1968
Contact
Tata Consultancy Services TCS House,
Raveline Street, 21 DS Marg, Fort
Mumbai, MAH 400001
India
For more details please visit www.tcs.com
Also Visit TCS Recruitment website : http://www.recruitment.tcs.co.in

Sunday 7 August 2011

PHP interview questions and answers

  1. What does a special set of tags <?= and ?> do in PHP? - The output is displayed directly to the browser.
  2. What’s the difference between include and require? - It’s how they handle failures. If the file is not found by require(), it will cause a fatal error and halt the execution of the script. If the file is not found by include(), a warning will be issued, but execution will continue.
  3. I am trying to assign a variable the value of 0123, but it keeps coming up with a different number, what’s the problem? - PHP Interpreter treats numbers beginning with 0 as octal. Look at the similar PHP interview questions for more numeric problems.
  4. Would I use print "$a dollars" or "{$a} dollars" to print out the amount of dollars in this example? - In this example it wouldn’t matter, since the variable is all by itself, but if you were to print something like "{$a},000,000 mln dollars", then you definitely need to use the braces.
  5. How do you define a constant? - Via define() directive, like define ("MYCONSTANT", 100);
  6. How do you pass a variable by value? - Just like in C++, put an ampersand in front of it, like $a = &$b
  7. Will comparison of string "10" and integer 11 work in PHP? - Yes, internally PHP will cast everything to the integer type, so numbers 10 and 11 will be compared.
  8. When are you supposed to use endif to end the conditional statement? - When the original if was followed by : and then the code block without braces.
  9. Explain the ternary conditional operator in PHP? - Expression preceding the ? is evaluated, if it’s true, then the expression preceding the : is executed, otherwise, the expression following : is executed.
  10. How do I find out the number of parameters passed into function? - func_num_args() function returns the number of parameters passed in.
  11. If the variable $a is equal to 5 and variable $b is equal to character a, what’s the value of $$b? - 100, it’s a reference to existing variable.
  12. What’s the difference between accessing a class method via -> and via ::? - :: is allowed to access methods that can perform static operations, i.e. those, which do not require object initialization.
  13. Are objects passed by value or by reference? - Everything is passed by value.
  14. How do you call a constructor for a parent class? - parent::constructor($value)
  15. What’s the special meaning of __sleep and __wakeup? - __sleep returns the array of all the variables than need to be saved, while __wakeup retrieves them.
  16. Why doesn’t the following code print the newline properly?    <?php
                $str = ‘Hello, there.nHow are you?nThanks for visiting TechInterviews’;
                print $str;
        ?>
    Because inside the single quotes the n character is not interpreted as newline, just as a sequence of two characters - and n.
  17. Would you initialize your strings with single quotes or double quotes? - Since the data inside the single-quoted string is not parsed for variable substitution, it’s always a better idea speed-wise to initialize a string with single quotes, unless you specifically need variable substitution.
  18. How come the code <?php print "Contents: $arr[1]"; ?> works, but <?php print "Contents: $arr[1][2]"; ?> doesn’t for two-dimensional array of mine? - Any time you have an array with more than one dimension, complex parsing syntax is required. print "Contents: {$arr[1][2]}" would’ve worked.
  19. What is the difference between characters 23 and x23? - The first one is octal 23, the second is hex 23.
  20. With a heredoc syntax, do I get variable substitution inside the heredoc contents? - Yes.
  21. I want to combine two variables together:
    $var1 = 'Welcome to ';
     $var2 = 'TechInterviews.com';
    
    What will work faster? Code sample 1:
    $var 3 = $var1.$var2;
    
    Or code sample 2:

    $var3 = "$var1$var2";
    
    Both examples would provide the same result - $var3 equal to "Welcome to TechInterviews.com". However, Code Sample 1 will work significantly faster. Try it out with large sets of data (or via concatenating small sets a million times or so), and you will see that concatenation works significantly faster than variable substitution.
  22. For printing out strings, there are echo, print and printf. Explain the differences. - echo is the most primitive of them, and just outputs the contents following the construct to the screen. print is also a construct (so parentheses are optional when calling it), but it returns TRUE on successful output and FALSE if it was unable to print out the string. However, you can pass multiple parameters to echo, like:
    <?php echo 'Welcome ', 'to', ' ', 'TechInterviews!'; ?>
    and it will output the string "Welcome to TechInterviews!" print does not take multiple parameters. It is also generally argued that echo is faster, but usually the speed advantage is negligible, and might not be there for future versions of PHP. printf  is a function, not a construct, and allows such advantages as formatted output, but it’s the slowest way to print out data out of echo, print and printf.
  23. I am writing an application in PHP that outputs a printable version of driving directions. It contains some long sentences, and I am a neat freak, and would like to make sure that no line exceeds 50 characters. How do I accomplish that with PHP? - On large strings that need to be formatted according to some length specifications, use wordwrap() or chunk_split().
  24. What’s the output of the ucwords function in this example?
    $formatted = ucwords("TECHINTERVIEWS IS COLLECTION OF INTERVIEW QUESTIONS");
     print $formatted;
    What will be printed is TECHINTERVIEWS IS COLLECTION OF INTERVIEW QUESTIONS.
    ucwords() makes every first letter of every word capital, but it does not lower-case anything else. To avoid this, and get a properly formatted string, it’s worth using strtolower() first.
  25. What’s the difference between htmlentities() and htmlspecialchars()? - htmlspecialchars only takes care of <, >, single quote ‘, double quote " and ampersand. htmlentities translates all occurrences of character sequences that have different meaning in HTML.
  26. What’s the difference between md5(), crc32() and sha1() crypto on PHP? - The major difference is the length of the hash generated. CRC32 is, evidently, 32 bits, while sha1() returns a 128 bit value, and md5() returns a 160 bit value. This is important when avoiding collisions.
  27. So if md5() generates the most secure hash, why would you ever use the less secure crc32() and sha1()? - Crypto usage in PHP is simple, but that doesn’t mean it’s free. First off, depending on the data that you’re encrypting, you might have reasons to store a 32-bit value in the database instead of the 160-bit value to save on space. Second, the more secure the crypto is, the longer is the computation time to deliver the hash value. A high volume site might be significantly slowed down, if frequent md5() generation is required.
  28. How do you match the character ^ at the beginning of the string? - ^^

Saturday 6 August 2011

8086 Microprocessor interview questions

  1. What are the flags in 8086? - In 8086 Carry flag, Parity flag, Auxiliary carry flag, Zero flag, Overflow flag, Trace flag, Interrupt flag, Direction flag, and Sign flag.
  2. What are the various interrupts in 8086? - Maskable interrupts, Non-Maskable interrupts.
  3. What is meant by Maskable interrupts? - An interrupt that can be turned off by the programmer is known as Maskable interrupt.
  4. What is Non-Maskable interrupts? - An interrupt which can be never be turned off (ie.disabled) is known as Non-Maskable interrupt.
  5. Which interrupts are generally used for critical events? - Non-Maskable interrupts are used in critical events. Such as Power failure, Emergency, Shut off etc.,
  6. Give examples for Maskable interrupts? - RST 7.5, RST6.5, RST5.5 are Maskable interrupts
  7. Give example for Non-Maskable interrupts? - Trap is known as Non-Maskable interrupts, which is used in emergency condition.
  8. What is the Maximum clock frequency in 8086? - 5 Mhz is the Maximum clock frequency in 8086.
  9. What are the various segment registers in 8086? - Code, Data, Stack, Extra Segment registers in 8086.
  10. Which Stack is used in 8086? - FIFO (First In First Out) stack is used in 8086.In this type of Stack the first stored information is retrieved first.
  11. What are the address lines for the software interrupts? -


    RST 0 0000 H
    RST1 0008 H
    RST2 0010 H
    RST3 0018 H
    RST4 0020 H
    RST5 0028 H
    RST6 0030 H
    RST7 0038 H
  12. What is SIM and RIM instructions? - SIM is Set Interrupt Mask. Used to mask the hardware interrupts. RIM is Read Interrupt Mask. Used to check whether the interrupt is Masked or not.
  13. Which is the tool used to connect the user and the computer? - Interpreter is the tool used to connect the user and the tool.
  14. What is the position of the Stack Pointer after the PUSH instruction? - The address line is 02 less than the earlier value.
  15. What is the position of the Stack Pointer after the POP instruction? - The address line is 02 greater than the earlier value.
  16. Logic calculations are done in which type of registers? - Accumulator is the register in which Arithmetic and Logic calculations are done.
  17. What are the different functional units in 8086? - Bus Interface Unit and Execution unit, are the two different functional units in 8086.
  18. Give examples for Micro controller? - Z80, Intel MSC51 &96, Motorola are the best examples of Microcontroller.
  19. What is meant by cross-compiler? - A program runs on one machine and executes on another is called as cross-compiler.
  20. What are the address lines for the hardware interrupts? -


    RST 7.5 003C H
    RST 6.5 0034 H
    RST 5.5 002C H
    TRAP 0024 H
  21. Which Segment is used to store interrupt and subroutine return address registers? - Stack Segment in segment register is used to store interrupt and subroutine return address registers.
  22. Which Flags can be set or reset by the programmer and also used to control the operation of the processor? - Trace Flag, Interrupt Flag, Direction Flag.
  23. What does EU do? - Execution Unit receives program instruction codes and data from BIU, executes these instructions and store the result in general registers.
  24. Which microprocessor accepts the program written for 8086 without any changes? - 8088 is that processor.
  25. What is the difference between 8086 and 8088? - The BIU in 8088 is 8-bit data bus & 16- bit in 8086.Instruction queue is 4 byte long in 8088and 6 byte in 8086.

Search here for "Freshers Jobs"