a:6:{i:0;s:14672:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for hr generalist in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.recruation.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.recruation.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for hr generalist in bangalore</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">HR Generalist</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">IBEForuM is an international conference company producing events attracting senior executives <br />
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, <br />
finance, pharma, technology, transport, six sigma and shared services. <br />
IBEForuM is a global leader in business information solutions with years of exceptional business <br />
experience, creating platforms that stimulate growth and increase business value. <br />
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious <br />
individuals that are willing to establish themselves and make a mark in the international business and<br />
economic environment. The company has a unique culture of empowerment and a strong belief in <br />
the personal development of employees at all levels of the business.<br />
Summary of Main purpose of the job:<br />
As a HR Generalist & Admin, you will play a key role in the success of IBEForuM. Responsible for all <br />
HR internal and external issues, coordinate with Administrator and other sub departments heads and<br />
managers. Primarily responsible to work as a HR generalist and facilitate in the performance of key <br />
HR functions including staffing, internal and external trainings for employees, develops relationships <br />
with top educational institutes to attract quality resources and participates in conducting on site <br />
tests and recruitment activities, advertise job openings on company’s careers page, social media, job <br />
boards and internally, performance, compensation, appraisals, MIS, Employee engagement activities,<br />
Attrition control, OD initiatives, Invoice/Payment chasing and tracking, organization policy, strong <br />
commitment to the profession, Excellent Interpersonal and Communication Skills. Good <br />
Organizational abilities in building successful & long-term working relationships with all levels of <br />
management. Highly trustworthy, discreet and ethical while handling the duties entrusted to the <br />
role.<br />
Position:  HR Generalist & Admin<br />
Works in</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"> 1  Lac  75 Thousand  To  3  Lac  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, Other Bachelor Degree, B.A, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">HR management</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">IBEM FORUM</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">IBEForuM is an international conference company producing events attracting senior executives 
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, 
finance, pharma, technology, transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business 
experience, creating platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious 
individuals that are willing to establish themselves and make a mark in the international business and
economic environment. The company has a unique culture of empowerment and a strong belief in 
the personal development of employees at all levels of the business.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">pankaj singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">hotel surabhi international pahariya varanasi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9005165681 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@recruation.co.in"> info@recruation.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form1.html">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Post Your Resume" />
					<input type="hidden" name="catalog_mi" value="648198">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="837505"><input type="hidden" name="subject" value="Applied for HR Generalist">
					</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-varanasi.htm" title="Jobs in Varanasi">Varanasi</a> <b class="alpha50 bn small">(26)</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">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-darbhanga.htm" title="Jobs in Darbhanga">Darbhanga</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(3)</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">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-araria.htm" title="Jobs in Araria">Araria</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-buxar.htm" title="Jobs in Buxar">Buxar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-madhubani.htm" title="Jobs in Madhubani">Madhubani</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-muzaffarpur.htm" title="Jobs in Muzaffarpur">Muzaffarpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-sitamarhi.htm" title="Jobs in Sitamarhi">Sitamarhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-saran.htm" title="Jobs in Saran">Saran</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(8)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(2)</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-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-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</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-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</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: 'Q1NJZGNOZHNIcnRVMk81S083VGk2QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:78:"Job openings for hr generalist in bangalore | Recruation Placement Consultancy";i:2;s:208:"HR Generalist Jobs,HR Generalist Jobs in Bangalore,HR Generalist Vacancy in Bangalore,HR Generalist jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Bangalore";i:3;s:325:"Apply for HR Generalist Jobs in Bangalore India - HR Generalist Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 0 to 1 years Work Experience, Key Skills are HR management, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Bangalore  India";i:4;s:2799:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "HR Generalist",
		  "baseSalary": " 1  Lac  75 Thousand  To  3  Lac ",
		  "description": "IBEForuM is an international conference company producing events attracting senior executives 
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, 
finance, pharma, technology, transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business 
experience, creating platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious 
individuals that are willing to establish themselves and make a mark in the international business and
economic environment. The company has a unique culture of empowerment and a strong belief in 
the personal development of employees at all levels of the business.
Summary of Main purpose of the job:
As a HR Generalist & Admin, you will play a key role in the success of IBEForuM. Responsible for all 
HR internal and external issues, coordinate with Administrator and other sub departments heads and
managers. Primarily responsible to work as a HR generalist and facilitate in the performance of key 
HR functions including staffing, internal and external trainings for employees, develops relationships 
with top educational institutes to attract quality resources and participates in conducting on site 
tests and recruitment activities, advertise job openings on company’s careers page, social media, job 
boards and internally, performance, compensation, appraisals, MIS, Employee engagement activities,
Attrition control, OD initiatives, Invoice/Payment chasing and tracking, organization policy, strong 
commitment to the profession, Excellent Interpersonal and Communication Skills. Good 
Organizational abilities in building successful & long-term working relationships with all levels of 
management. Highly trustworthy, discreet and ethical while handling the duties entrusted to the 
role.
Position:  HR Generalist & Admin
Works in",
		  "educationRequirements": "Professional Degree, Other Bachelor Degree, B.A, M.B.A/PGDM",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Professional Degree, Other Bachelor Degree, B.A, M.B.A/PGDM",
		     "skills": "HR management"
		  }
		</script>
		";i:5;N;}