Sunday, 9 February 2014

5 ways to ensure you hire the right talent

Make sure you take the right hiring decisions by following the checklist shared below.

Hiring decisions are the most painful part of an HR professional's job and they are equally taxing for the business, at large. A study published by the Society for Human Resource Management found that a poor hiring decision, which ended in termination, actually costs the company concerned around 38 per cent of an employee's salary. With so much at stake, how can one ensure that right person is hired for the right job? Ravi S Singh, founder, Insiders, shares a checklist which can help avoid horror hires...

Talent mapping

The success of hiring lies in talent mapping; if you have the right people on your mapping list, your job is almost done. The problem with most of the recruiters, even consultants, is that their search process ends as they find a suitable candidate, to get a closure. An extensive talent mapping gives you a holistic preview of the available talent and make sure that you are hiring the most suitable and best fit.

Strong pre-screening 

A right hire is not determined by the number of people interviewed but by meeting the right people. Hence, a strong and in-depth pre-screening of CV is highly recommended, so that you meet only the right people and when you are making a final decision you know you are choosing among the best. In today's social media-driven world, reviewing the online profile can be a very strong pre-screening criterion.

Non negotiable traits/behavior 

The technical aspect and achievements (IQ) are almost defined in the CV and while interviewing, it's all about cross checking them. But the major aspect which needs to be checked is behaviors, traits, and attitude; in short the EQ aspect. Hence, define your NNT (Non Negotiable Traits) this will definitely assure the stability of hire in your organisation.

Know your questions 

Have a checklist of interview questionnaire. Also, it's not only about preparing the right question but knowing them as well; i.e., what is the objective? What will it basically determine or how well can it give a prospective of the candidate?

Background and reference check

Effective reference check is one of the most important steps in the hiring process. Make sure and verify that all the credentials, experience and skills shared, are possessed by the candidate.

Besides, there are number of behavioural and personality assessment tests available, today, to evaluate the suitability and credibility of a candidate for the available job profile/position. "A little extra effort at the preliminary stages of hiring process can help in culling the good from bad. It is best to give an in-depth testing on the candidate's competencies rather than glide along on first impressions," advised Kevin Tan, principal consultant, Omni View Consultancy.

Sunday, 2 February 2014

C++ Constructor and Destructor

C++ Constructor:
Constructors are the special type of member function that initializes the object automatically when it is created Compiler identifies that the given member function is a constructor by its name and return type. 
  • It can have parameters like any member function.
  • Constructor functions are usually declared in the public section, but can also be declared in the protected and private sections, if the user wants to restrict access to them.
  • Constructor has same name as that of class and it does not have any return type and executed whenever we create new objects of that class.
  • The constructor has two parts:
      First is the initializer list which follows the parameter list and before the method body. It starts with a colon and entries are comma-separated. The initializer list is not required, but offers the opportunity to provide values for data members and avoid separate assignment statements. The initializer list is required if you have const or reference type data members, or members that do not have parameterless constructor logic. Assignments occur according to the order of the initializer list. 

    The second part is the body, which is a normal method body enclosed in curly brackets.


Constructor Types : means constructor can be over loaded like member function:

1. Default Constructor: A default constructor is a constructor that either has no parameters, or if it has parameters, all the parameters have default values.
Example:
class Cons{};

If no user-defined constructor exists for a class A and one is needed, the compiler implicitly declares a default parameterless constructor A::A(). 

This constructor is an inline public member of its class. The compiler will implicitly define A::A() when the compiler uses this constructor to create an object of type A. 
The constructor will have no constructor initializer and a null body.

The compiler first implicitly defines the implicitly declared constructors of the base classes and nonstatic data members of a class A before defining the implicitly declared constructor of A. No default constructor is created for a class that has any constant or reference type members. 

A constructor of a class A is trivial if all the following are true:

  • It is implicitly defined Cons has no virtual functions and no virtual base classes.
  • All the direct base classes of Cons have trivial constructors. 
  • The classes of all the nonstatic data members of Cons have trivial constructors
If any of the above are false, then the constructor is nontrivial.

2. Copy Constructor:  for a class Cons is a constructor whose first parameter is of type Cons&, const Cons&. Copy constructors are used to make a copy of one class object from another class object of the same class type. You cannot use a copy constructor with an argument of the same type as its class; you must use a reference.


3. Parametrized Constructor: A default constructor does not have any parameter, but if you need, a constructor can have parameters. 


The following code fragment shows two classes with constructors, default constructors, and copy constructors, initializer :

class Cons1

 {
int length, breadth;
public:
  // default constructor, no arguments
  Cons1();
  // Parametrized constructor, assign value using assignment operator
  Cons1(int x, int y)
 {
      length = x;
     breadth = y;
 }
// Parametrized constructor, assign value using Initializer list
//  Cons1(int x, int y) : length(x),  breadth(y) { }

  // copy constructor

  Cons(const Cons&);
};

class Cons2 {

public:
  // default constructor with one
  // default argument
  Cons2( int a= 0);

  // default argument

  // copy constructor
  Cons2(const Cons2&, int a = 0);

};


C++ Destructor: updated coming soon.