a:6:{i:0;s:8554:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Hr Executive (Female) For A Executive Search Firm In Bhopal</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.talentleads.in/" title="Home">Home</a>
					
															
					<b class="ffv p2px">&rsaquo;</b> Hr Executive (Female) For A Executive Search Firm In Bhopal</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 0 - 1 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Bhopal</p>
										
					<div>
					<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="333396">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="820432"><input type="hidden" name="subject" value="Applied for Hr Executive (Female) for a Executive search firm in Bhopal">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Job Title/Designation:<br />
<br />
Hr Executive (female) for a Executive Search firm in Bhopal<br />
Job Description:<br />
<br />
Job Responsibilities:-<br />
<br />
To understand different companies businesses and its manpower requirements<br />
<br />
To Source and screen the candidates to build a pool of interested candidates through Job Portals, data Bank, Head Hunting, References in given time frame.<br />
<br />
To coordinate with shortlisted candidates for interviews & follow up for their feedback from clients<br />
<br />
To coordinate with candidates for offer and joining of the candidates<br />
<br />
To coordinate with clients over phone and email for feedback and open positions<br />
<br />
To prepare daily MIS and Tracker in excel format<br />
<br />
To analyze talent market with respect to positions and company<br />
<br />
To coordinate with clients for fulfillment of the manpower requirements.<br />
<br />
Candidate Profile:<br />
<br />
MBA HR Fresher/ Experienced (Female candidate)<br />
<br />
Excellent English communication skills / written or verbal English should be excellent<br />
<br />
Understanding of Recruitment/ HR fundamentals<br />
<br />
Career oriented with learning attitude<br />
<br />
Able to Handle Pressure<br />
<br />
Sincere and creative thinker<br />
<br />
Experience: 0 to 2 years</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  1  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">M.B.A/PGDM</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Recruiter</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">fresher</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">HR</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Minal Complex, J K Road, Govindpura</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">8827392102 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:shailendra.saini@talentleads.co.in"> shailendra.saini@talentleads.co.in </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="333396">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="820432"><input type="hidden" name="subject" value="Applied for Hr Executive (Female) for a Executive search firm in Bhopal">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bhopal.htm" title="Jobs in Bhopal">Bhopal</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-yamunanagar.htm" title="Jobs in Yamunanagar">Yamunanagar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(1)</b></span>
									
				</div>
				</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: 'VkVNVmYxRDJ0OEdQb2hlNTZaTTcxUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:126:"Hr Executive (Female) for a Executive search firm in Bhopal Jobs in Bhopal - Vacancy in HR / Recruitment / Administration / IR";i:2;s:345:"Hr Executive (Female) for a Executive search firm in Bhopal Jobs,Hr Executive (Female) for a Executive search firm in Bhopal Jobs in Bhopal,Hr Executive (Female) for a Executive search firm in Bhopal Vacancy in Bhopal,Hr Executive (Female) for a Executive search firm in Bhopal jobs in India,HR / Recruitment / Administration / IR jobs in Bhopal";i:3;s:339:"Apply for Hr Executive (Female) for a Executive search firm in Bhopal Jobs in Bhopal India - Hr Executive (Female) for a Executive search firm in Bhopal Vacancy  in HR / Recruitment / Administration / IR field with 0 to 1 years Work Experience, Key Skills are Recruiter,fresher, HR / Recruitment / Administration / IR jobs in Bhopal  India";i:4;s:1836:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Hr Executive (Female) for a Executive search firm in Bhopal",
		  "baseSalary": " 1  Lac  To  1  Lac  25 Thousand ",
		  "description": "Job Title/Designation:

Hr Executive (female) for a Executive Search firm in Bhopal
Job Description:

Job Responsibilities:-

To understand different companies businesses and its manpower requirements

To Source and screen the candidates to build a pool of interested candidates through Job Portals, data Bank, Head Hunting, References in given time frame.

To coordinate with shortlisted candidates for interviews & follow up for their feedback from clients

To coordinate with candidates for offer and joining of the candidates

To coordinate with clients over phone and email for feedback and open positions

To prepare daily MIS and Tracker in excel format

To analyze talent market with respect to positions and company

To coordinate with clients for fulfillment of the manpower requirements.

Candidate Profile:

MBA HR Fresher/ Experienced (Female candidate)

Excellent English communication skills / written or verbal English should be excellent

Understanding of Recruitment/ HR fundamentals

Career oriented with learning attitude

Able to Handle Pressure

Sincere and creative thinker

Experience: 0 to 2 years",
		  "educationRequirements": "M.B.A/PGDM",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "HR / Recruitment / Administration / IR",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Bhopal"
		    }
		  },
		 "qualifications": "M.B.A/PGDM",
		     "skills": "Recruiter,fresher"
		  }
		</script>
		";i:5;N;}