a:6:{i:0;s:10138:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for sr hr executive recruiter female in ghaziabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.tdsindia.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.tdsindia.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for sr hr executive recruiter female in ghaziabad</p>
					</div>
					</div>
					</section>
									<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">Sr./ HR Executive (Recruiter) - Female</div>
									<p class="mt7px fw6">Ghaziabad</p>
									
				<br>
				<p class="aj mt7px">1) Hands on experience in souring for IT and non it skills.<br />
2) Performing End to End recruitment process.<br />
3) Experience in sourcing candidates from job portals like Naukri. Also should be using other sources like Linkedin, Indeed, IIM jobs etc.<br />
4) written, verbal & interpersonal communication skills.<br />
5) Conduct initial HR Screening (Telephonic) to check technical skills, communication Skills, interest levels, etc<br />
Develop and execute recruiting plans<br />
Efficiently and effectively fill organization internal open positions<br />
Assist in monitoring/tracking employee relations issues including resolution and follow-up.<br />
Have to manage End to End Recruitment cycle starting from screening to closure.<br />
Mandatory Expertise in IT Hiring (Development ,Infra, Cloud)<br />
Hands on experience in recruiting IT infra related profiles with Technical Recruitment Expertise<br />
Coordinating interviews with the hiring managers following up on the interview process status.<br />
Candidate management.<br />
Utilizing social media, job boards, and Internet sourcing and other technical means to source candidates for open jobs.<br />
Closing the position with the given TAT<br />
Salary negotiation with the candidate.<br />
Follow up for offer and joining<br />
Database management.<br />
Responsible for timely deliverable.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 6 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  50 Thousand  To  3  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR / Training & Development / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, B.Com, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Recruitment Consultant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px">HR Recruiter</span>
												<span class="bdr dib p2px10px mr5px mt2px">HR Consultant</span>
												<span class="bdr dib p2px10px mr5px mt2px">HR Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Coordinator</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Assistant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Human Resource Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Sourcing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Head Hunting</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Administration</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">Contact Person</td>
						<td class="p5px">Manish Negi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Sco-910, Nac Manimajra, Near Housing Board Red Light</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9891373207 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:manishnegi@tdsjobs.com"> manishnegi@tdsjobs.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="277807">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="991841"><input type="hidden" name="subject" value="Applied for Sr./ HR Executive (Recruiter) - Female">
					</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-kanpur.htm" title="Jobs in Kanpur">Kanpur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-alwar.htm" title="Jobs in Alwar">Alwar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chandigarh.htm" title="Jobs in Chandigarh">Chandigarh</a> <b class="alpha50 bn small">(1)</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">(1)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(1)</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">(6)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</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-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-beauty-fitness-spa-services-fid.htm" title="Beauty / Fitness / Spa Services Jobs">Beauty / Fitness / Spa Service...</a></p>
									
				</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: 'MG5LS2dVRnRGQStsc1V2WnVVUnVqZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:109:"Job openings for sr hr executive recruiter female in ghaziabad | TDS Placements and Services Private Limited.";i:2;s:308:"Sr./ HR Executive (Recruiter) - Female Jobs,Sr./ HR Executive (Recruiter) - Female Jobs in Ghaziabad,Sr./ HR Executive (Recruiter) - Female Vacancy in Ghaziabad,Sr./ HR Executive (Recruiter) - Female jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Ghaziabad";i:3;s:536:"Apply for Sr./ HR Executive (Recruiter) - Female Jobs in Ghaziabad India - Sr./ HR Executive (Recruiter) - Female Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 2 to 6 years Work Experience, Key Skills are Recruitment Consultant, HR Analyst,HR Recruiter,HR Consultant,HR Executive, HR Coordinator, HR Assistant, Human Resource Management, Sourcing, Head Hunting, HR Administration, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Ghaziabad  India";i:4;s:2704:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sr./ HR Executive (Recruiter) - Female",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "991841"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9891373207",
	      "email" : "manishnegi@tdsjobs.com"  
	       },
		  "url": "https://www.tdsindia.co.in/job-openings-for-sr-hr-executive-recruiter-female-ghaziabad-991841.htm",
          "datePosted": "2021-02-15",
          
		  "baseSalary": " 2  Lac  50 Thousand  To  3  Lac  25 Thousand ",
		  "description": "1) Hands on experience in souring for IT and non it skills.
2) Performing End to End recruitment process.
3) Experience in sourcing candidates from job portals like Naukri. Also should be using other sources like Linkedin, Indeed, IIM jobs etc.
4) written, verbal & interpersonal communication skills.
5) Conduct initial HR Screening (Telephonic) to check technical skills, communication Skills, interest levels, etc
Develop and execute recruiting plans
Efficiently and effectively fill organization internal open positions
Assist in monitoring/tracking employee relations issues including resolution and follow-up.
Have to manage End to End Recruitment cycle starting from screening to closure.
Mandatory Expertise in IT Hiring (Development ,Infra, Cloud)
Hands on experience in recruiting IT infra related profiles with Technical Recruitment Expertise
Coordinating interviews with the hiring managers following up on the interview process status.
Candidate management.
Utilizing social media, job boards, and Internet sourcing and other technical means to source candidates for open jobs.
Closing the position with the given TAT
Salary negotiation with the candidate.
Follow up for offer and joining
Database management.
Responsible for timely deliverable.",
		  "educationRequirements": "Professional Degree, B.Com, M.B.A/PGDM",
		  "experienceRequirements": "2 - 6 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Ghaziabad"
		    }
		  },
		 "qualifications": "Professional Degree, B.Com, M.B.A/PGDM",
		     "skills": "Recruitment Consultant, HR Analyst,HR Recruiter,HR Consultant,HR Executive, HR Coordinator, HR Assistant, Human Resource Management, Sourcing, Head Hunting, HR Administration"
		  }
		</script>
		";i:5;N;}