a:6:{i:0;s:5718:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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="h1"><h1>Job openings for opening in </h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.vplinfotech.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.vplinfotech.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for opening in </p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Opening For Fresher In Electronics Industry</div>
									<p class="mt7px fw6">Delhi</p>
									
				<br>
				<p class="aj mt7px">Position                :               Trainee in field of Electronics<br />
Job Location       :               Delhi<br />
Qualification       :               Diploma/ITI/Certificate course in Electronics<br />
Experience          :               Fresher or with some experience in electronics field<br />
Salary                   :               As per qualifications and industry norms.<br />
The candidate should be interested to learn and keen to make their carrier in electronic industry.   He should be hardworking and good learner.</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  To  2  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Fresher / Trainee</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Vocational Course, Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">electronics engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Trainee engineer</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">VPL Infotech &amp; Consultants</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">We are about 3 decade old  company in manufacturing, dealing and exports  of  Laboratory Equipments and Trainer Kits, Teaching aids for engineering colleges.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hr@vplinf.com"> hr@vplinf.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="508803">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="408268"><input type="hidden" name="subject" value="Applied for Opening for Fresher in Electronics Industry">
					</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-delhi.htm" title="Jobs in Delhi">Delhi</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">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</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: 'NWRicGRsS2MzRkI0L0draFM4VHA4QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:57:"Job openings for opening in  | Vpl Infotech & Consultants";i:2;s:257:"Opening for Fresher in Electronics Industry Jobs,Opening for Fresher in Electronics Industry Jobs in Delhi,Opening for Fresher in Electronics Industry Vacancy in Delhi,Opening for Fresher in Electronics Industry jobs in India,Fresher / Trainee jobs in Delhi";i:3;s:284:"Apply for Opening for Fresher in Electronics Industry Jobs in Delhi India - Opening for Fresher in Electronics Industry Vacancy  in Fresher / Trainee field with 0 to 1 years Work Experience, Key Skills are electronics engineer, Trainee engineer, Fresher / Trainee jobs in Delhi  India";i:4;s:1226:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening for Fresher in Electronics Industry",
		  "baseSalary": " 1  Lac  To  2  Lac ",
		  "description": "Position                :               Trainee in field of Electronics
Job Location       :               Delhi
Qualification       :               Diploma/ITI/Certificate course in Electronics
Experience          :               Fresher or with some experience in electronics field
Salary                   :               As per qualifications and industry norms.
The candidate should be interested to learn and keen to make their carrier in electronic industry.   He should be hardworking and good learner.",
		  "educationRequirements": "Vocational Course, Diploma",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Fresher / Trainee",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi"
		    }
		  },
		 "qualifications": "Vocational Course, Diploma",
		     "skills": "electronics engineer, Trainee engineer"
		  }
		</script>
		";i:5;N;}