a:6:{i:0;s:9962:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for hiring in </h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.jobpledgeconsultants.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.jobpledgeconsultants.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for hiring in </p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Hiring For The HR Recruiters</div>
									<p class="mt7px fw6">Delhi, East Delhi</p>
									
				<br>
				<p class="aj mt7px">Hiring For The HR Recruiters<br />
<br />
Job Description <br />
	<br />
Hiring HR Recruiter for our consultancy in East Delhi (Guru Angad Nagar).<br />
	<br />
Job Responsibilities:<br />
<br />
* To work on various middle level & senior level positions for clients.<br />
<br />
* To screen candidates and have a complete discussion with them about the roles and responsibilities.<br />
<br />
* Align candidates for interview and keep a good follow up with them Pre and Post interview rounds.<br />
<br />
* Work on Monthly targets and should be willing to go an extra mile to achieve them.<br />
* To interact with clients and understand their requirement and then deliver accordingly.<br />
* To have salary & Notice period discussions and negotiations with the candidate.<br />
* Will get a chance to work on various Job Portals and Other Job sites to hire.<br />
* Sunday Fixed Off (10:00am-7pm)<br />
* Freshers can also apply<br />
<br />
Desired Candidate Profile<br />
Candidate should have a zeal to learn and perform under pressure.<br />
Candidate should be willing to think out of the box to get results.<br />
Candidate should have a basic idea of terms used in Recruitment.<br />
Candidate should balance between Hard & Smart Work.<br />
<br />
Thanks & Regards<br />
Kritika(HR Recruiter)</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 50 Thousand  To  1  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Secondary School</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">HR Recruiter</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Job pledge consultants</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Job Pledge Consultants is a renowned Recruitment Firm in Recruitment Field. We are Hiring for the HR Recruiter</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jobpledgeconsultants@gmail.com"> jobpledgeconsultants@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="344935">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="557106"><input type="hidden" name="subject" value="Applied for Hiring For The HR Recruiters">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(210)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(103)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(100)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(3)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(288)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(72)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(10)</span><a href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-telecom-software-fid.htm" title="IT Software - Telecom Jobs">IT Software - Telecom</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-security-fid.htm" title="Security / Law Enforcement / Defence Force Jobs">Security / Law Enforcement / D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-medical-health-care-hospitals-fid.htm" title="Medical / Health Care / Hospitals Jobs">Medical / Health Care / Hospit...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'SS9hK2owSGd5dUJTTHVmSXZ6OVdxdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:52:"Job openings for hiring in  | Job Pledge Consultants";i:2;s:218:"Hiring For The HR Recruiters Jobs,Hiring For The HR Recruiters Jobs in Delhi,Hiring For The HR Recruiters Vacancy in Delhi,Hiring For The HR Recruiters jobs in India,HR / Recruitment / Administration / IR jobs in Delhi";i:3;s:270:"Apply for Hiring For The HR Recruiters Jobs in Delhi India - Hiring For The HR Recruiters Vacancy  in HR / Recruitment / Administration / IR field with 0 to 1 years Work Experience, Key Skills are HR Recruiter, HR / Recruitment / Administration / IR jobs in Delhi  India";i:4;s:1826:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Hiring For The HR Recruiters",
		  "baseSalary": " 50 Thousand  To  1  Lac ",
		  "description": "Hiring For The HR Recruiters

Job Description 
	
Hiring HR Recruiter for our consultancy in East Delhi (Guru Angad Nagar).
	
Job Responsibilities:

* To work on various middle level & senior level positions for clients.

* To screen candidates and have a complete discussion with them about the roles and responsibilities.

* Align candidates for interview and keep a good follow up with them Pre and Post interview rounds.

* Work on Monthly targets and should be willing to go an extra mile to achieve them.
* To interact with clients and understand their requirement and then deliver accordingly.
* To have salary & Notice period discussions and negotiations with the candidate.
* Will get a chance to work on various Job Portals and Other Job sites to hire.
* Sunday Fixed Off (10:00am-7pm)
* Freshers can also apply

Desired Candidate Profile
Candidate should have a zeal to learn and perform under pressure.
Candidate should be willing to think out of the box to get results.
Candidate should have a basic idea of terms used in Recruitment.
Candidate should balance between Hard & Smart Work.

Thanks & Regards
Kritika(HR Recruiter)",
		  "educationRequirements": "Secondary School",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "HR / Recruitment / Administration / IR",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi, East Delhi"
		    }
		  },
		 "qualifications": "Secondary School",
		     "skills": "HR Recruiter"
		  }
		</script>
		";i:5;N;}