rathor.rajeev
BAN USER
Rajeev Rathr
B.Tech(CSE), M.Tech(CSE) with 6 year exp from Java , J2EE and Server Side technologies, Big Data tools
A result oriented professional with 6 Years of experience as Developer from Product based R&D, Startup companies on Java server side technologies.
• Currently, working with Samsung R&D Bangalore from January-2014.
• I worked 3 years for Computer Science Corporation -CSC (US major MNC) as Software Engineer (G20) for Zurich NA R&D Division and 1.4 years experience from Tavant Technologies Ltd (Startup) as Senior Software Engineer in ecommerce domain.
• I have onsite exposure for Requirement analysis and commercialization.
RESUME
Rajeev Rathor
Address: HNo 40, Kaggadaspura
CV Raman Nagar, Bangalore
8904668406
Email: rathor.rajeev@gmail.com, rajiv180984@gmail.com
________________________________________
CAREER OBJECTIVE
Looking forward to be the part of a result oriented company that seeks an ambitious and career conscious person where acquired skills and education will be utilized towards continuous growth and advancement of individual and organization.
PROFESSIONAL EXPERIENCE
A result oriented professional with 6 Years of experience as Developer from Product based R&D, Startup companies on Java server side technologies.
• Currently, working with Samsung R&D Bangalore from January-2014.
• I worked 3 years for Computer Science Corporation -CSC (US major MNC) as Software Engineer (G20) for Zurich NA R&D Division and 1.4 years experience from Tavant Technologies Ltd (Startup) as Senior Software Engineer in ecommerce domain.
• I have onsite exposure for Requirement analysis and commercialization.
Summary:
• I have 5+ year of experience on server side technologies like java, J2EE, spring, MQs, mybatis, XML, Multi-threading, Data structure, Big-data tools.
• Currently working on Penup Application (like Twitter, Instagram) as Developer as well and handling team of size two resources. I had exposure to work on various cutting edge technologies.
• I got opportunity to setup and development of server side components of Smart Assistance (like Google Now), Information Extractor(S-Reminder) and Service Aggregator Platform and UserComm from scratch of projects.
• I have experience of development and integration of rELK (Redis, ElasticSearch, LogStash, Kibana) framework for performance, usage and statistical analysis of Penup application.
• Recently, I did integration of Apache Solr 5.0 (DIH MYSQL) in current project for efficient and featured search capability.
• I got exposure on big-data ecosystem’s tools and technologies like FLUME, KAFKA, HIVE, SQOOP and HDFS for log analysis and customer behavior pattern analysis for recommendation.
• I did performance enhancement of APIs and raise TPS 250 times with 100% correctness using rabbitMQ and massive multi-threading and involved db optimization using inno_db.
• I got opportunity to implementation, integration as well as analysis of Memcached and Redis to enhance performance and fast responsiveness of application Penup, Smart Assistance from scrach.
• Currently, I setup cassandra cluster and we are doing R&D on cassandra NO-SQL to migrate from RDBS Mysql to cassandra for performance optimization.
• I was appreciated with "Employee of the Month" and 4 times spot award for my contribution in various projects.
• I have more interested on coding, big data analysis, optimization and enthusiastic to learn.
ACADEMIC QUALIFICATIONS
• Completed M.Tech. in Computer Science and Engineering from Thapar University, Patiala(A Premier institute of India) with 7.8 CGPA(78%) on scale of 10 on 2008(Regular).
• Completed B-Tech. in Computer Science and Engineering from Gautam Budh Technical University with 65.2% marks in July 2006.
• Completed Intermediate (12th) in PCM from State Board with 74% marks in 2001.
• Completed High School (10th) from State Board with 70 % marks in 1999.
• Qualified GATE-2006(CSE) with 95 Percentile.
• OCPJP 1.6 Certified (SCJP 1.6) professional.
Technical SKILLS
Technologies : Java, J2EE, Rest API, Multithreading, Data structure, Design Pattern, XML (XSLT, JIBX), JSP, SCRUM.
Development Framework : Spring 3 Framework (IOC, AOP, MVC, ORM), MyBatis, Hibernate
Messaging System : Apache Kafka, RabbitMQ, Apache Flume, JMS
Caching Tool : Memcached, Redis
High Scale Analytic System : ELKr (ElasticSearch, Logstash, Redis, Kibana)
Big-Data Analytic Tools : HIVE, SQOOP, HDFS, PIG
NOSQL : Cassandra 2.X
Search & Index Server : Apache Solr 5.x (DIH, Cassandra, Geo-search, suggestion, Join)
Build & Version Control Tool : Maven 3.X , perforce, SVN.
Unit Testing : Junit, MockMvc, Cobertura
Load Testing Tool : SOAP UI, nGrinder (AWS tool)
RDBMS : Oracle 10g, MySQL, PL-SQL
IDE : Eclipse, Netbeans 7.1
Operating Systems : Ubuntu, Windows
Other Skills : map-reduce programming(Basics), Jenkins, Quartz, Groovy, AJAX, JavaScript,
PROJECTS SUMMARY:
1. Penup Application(Like Twitter/Picaso/Instagram): Samsung Penup is social network application for artistic people with a multimillion users base for share creativity through digital artworks, likes, tagging, comments, follow and many more featured like twitter and facebook. It support wide range of drawing tools for apply innovation and creativity on digital art. It is rich featured application and It also known as one of popular and prominent innovation of Samsung that pre-install app in Samsung high end mobiles. We did development on this application and enrich application with many new features to make more popular and increase credibility and engagement of users on application. We did performance enhancement, design and architectural improvement to make application scalable and fast responsiveness for engaging existing users and impressive percentage of new users.
Technology: Spring MVC, Multi-threading, AOP, Mybatis, Apache Solr, ELK, Logstash, Memcache, OAuth 2.0, Redis, Kibana, Flume, PL-SQL, SCRUM.
2. Generic service aggregator platform (My Galaxy): Generic service aggregator platform allows aggregating multiple third party services from different domains. It aggregate and process data coming from multiple service providers and perform multi level processing through complex system to extract customer centric valuable data. Service Platforms apply multiple optimization algorithms to find efficient and optimized solution based on users preference and for mitigating human effort to make best decision for particular service out of pool of services at single point. This platform based on four phase processing, register of services (Plugging), grouping of services, aggregation, optimization.
Technology: Spring MVC, Multi-threading, XML, XSLT, Rest API, AOP, Hibernate, Apache Solr, Memcache, RabbitMQ, Quartz Job, PL/SQL.
3. Samsung Smart Assist Card Service (Google Now for China): Samsung's (Google Now) kind of service for publishing cards to the Samsung's Devices and B2B platform for 3rd parties to publish their contents to the Samsung servers. The Server in turn would publish cards/notifications using the Samsung Push Server.
Technology: Core Java, Spring MVC, Spring AOP, Collection, Multithreading, Mybatis, Memcached, RabbitMQ, Design Pattern GCM Push Server.
4. Information Extraction: Information Extractor is tool to process device context logs, email, sms to evaluate interest of users. IE prepare dictionary from devices context logs for suggestion of cards.
Technology: Spring MVC, Spring AOP, Mybatis, Multithreading, Batch Processing, Kafka, Flume, HDFS, HBase, Hive, Sqoop, MockMVC.
5. UserComm
UserComm is an innovative solution that allows sending messages, mails and SMSs using various mail Services providers and mobile service provider, across the internet to ecommerce customers and across Intranet. The message contents and recipients are based on ecommerce analysis and data mining and message formation are based on velocity based templates. This is application is ecommerce application used for all type of communication across the MLBAM applications and ecommerce users like reward points, redeem points, reward points. It is based on JMS, Spring, XML based application.
Technologies : Core Java, JSP, Hibernate, XML, Multithreading, Design Pattern
Professional & ACADEMIC ACHIEVEMENTS
• Awarded as “Employee of the Month” and I got 4 times Spot Award for major contribution in product development.
• Qualified GATE-2006(CSE) with 95 Percentile.
• Campus recruitment in two reputed company Computer Science Corporation and Infosys.
• NDA-I-2001 Qualified.
EXTRA CURRICULAR ACTIVITIES
• Member of CSI (Computer Society of India). A national level Computer Science Society
• Membership in NSTE of Thapar University Patiala Punjab
• Membership in Infotech -2002-06 a Computer Science Society of SGI group Agra
• Member of Organizing, Discipline and Placement Committee at M.E at Thapar University, Patiala.
• CSC TBSC 2011
THESIS (M.Tech.)
Title : Morphological POS tagger
Advisor : Dr. Parteek Bhatia.
Summary : Morphological POS Tagger is used in NLP application development. “Morphological POS Tagger” which means, to assign grammatical tags to each word of given input sentence on the basis of grammatical and morphological structure of Hindi. POS tagger is important NLP application of implementation of Hindi to English Translator.
PUBLICATIONS
• “Morphology based POS Tagging for Hindi Language” in ICCDIT-08 (International Conference on Computer development and Information Technology-2008 ) PCTE Ludhiana (Punjab)
• “Challenges of Morphology based Machine Translators” in ITA-09 (Israel Translator Association-09) (Accepted)
PERSONAL DETAILS
Name : Rajeev Rathor
Father’s name : Mr. Jaswant Singh Rathor
D.O.B : 18th Sep. 1984
Marital Status : Married
Nationality : Indian
Strength : Good Analytical, problem solving and learning capability, Dedication to work
Declaration:
I, Mr. Rajeev Rathor, hereby declare that the above-mentioned information is correct up to my best knowledge and I bear the responsibility for the correctness of the above-mentioned particulars.
Date: 06-11-2015
Place: Bangalore Rajeev Rathor
take 10 items and create Min Heap with these 10 items and compare next element with root if we found any element greater than root than replace root element with this element and call heapify so that again min heap root element contain minimum value. keep on doing same thing untill we reached at the end of array. So finally min heap contain 10 highest element that we should place at last 10 position. But As we know min-heap does not give guarantee of sorting, we have to call any sorT(Heap Sort ) recommended. now next time just n-10 element need to process as same way.
So Its kind of bubble sort (n,n-10, n-20, n-30,......20,10).
public static void moveZeroLast() {
int a[] = { 1, 7, 0, 4, 5, 0, 7, 7, 0, 8 };
int count = 0;
for (int i = 0; i < a.length; i++) {
if (a[i] == 0) {
count++;
} else {
a[i - count] = a[i];
}
if (i + count >= a.length - 1) {
a[i] = 0;
}
}
}
public static void reverseStatement(String s){
String a[] = s.split(" ");
int l=0;
int h = a.length-1;
while(l<h){
String temp = a[h];
a[h] = a[l];
a[l]=temp;
l++;
h--;
}
}
There are five object.
3 Objects for "A" , "B" and "C"
String temp = "A"+"B"+"C"
4th Object create when "A"+"B" Intermediate and concatination happen with step by step which is return "AB"
5th "AB"+"C";
Please let me know if anyone have suggestion on it.
Tested with Data: 29, 31,7,13 etc.
public static void main(String[] args) {
int num =7;
int f = 3;
int s = 5;
Coin coin = misc.coinCount(num, f, s);
if(coin==null){
coin = misc.coinCount(num, s, f);
}
if(coin!=null){
System.out.println(" Coint "+coin.countX+" Second "+coin.countY);
}else{
System.out.println(" Not Possible");
}
}
public Coin coinCount(int num, int f,int s){
Coin coin = new Coin(0, 0);
while(num!=0 && num>0){
if(num%f==0){
coin.countX+=num/f;
return coin;
}else if(num%s==0){
coin.countY+=num/s;
return coin;
}else if(num == 0){
return coin;
}else {
coin.countX+=1;
num = num-f;
}
}
if(num<0){
return null;
}
return coin;
}
}
class Coin{
public int countX;
public int countY;
public Coin(int countX, int countY) {
super();
this.countX = countX;
this.countY = countY;
}
}
public class MiscDemo {
public static void main(String[] args) {
String []input = {"cat","good","tac","act","odog"};
MiscDemo misc = new MiscDemo();
misc.segragateAnagram(input);
System.out.println();
}
public void segragateAnagram(String input[]){
Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
Set<String> keys = map.keySet();
String word;
for(int i=0; i<input.length;i++){
if(this.matchingAnagramKey(keys, input[i])!=null){
word = this.matchingAnagramKey(keys, input[i]);
map.get(word).add(input[i]);
}else{
map.put(input[i], new ArrayList<String>());
}
}
System.out.println(map.get("cat").size());
}
public String matchingAnagramKey(Set<String> keys, String b){
for(String word:keys){
if(isAnagram(word, b)){
return word;
}else{
}
}
return null;
}
public boolean isAnagram(String a, String b){
// Their length shoud be same \
// Their both String contain same character and same number of character but there order might be diifer.
int m = a.length();
int n = a.length();
if(m!=n){
return false;
}
int []count1 = new int[26];
int []count2 = new int[26];
// using single count array
for(int i=0;i<n;i++){
count1[a.charAt(i)-97]+=1;
}
for(int i=0;i<n;i++){
count1[b.charAt(i)-97]-=1;
}
for(int i=0;i<26;i++){
if(count1[i]!=0){
return false;
}
}
return true;
}
}
Lets assume if input string is "aaa333b9999bbbbbccc44" than ?
- rathor.rajeev August 11, 2016Correct. Water level remain same.
- rathor.rajeev February 26, 2016class A extends Fact{
}
class B extends Fact{
}
etc.....
class Factory{
public static Fact getInstance(String ID/className){
if(ID==A.className()){
return new A();
}else-if(ID==B.className()){
return new B();
}
....
..
}
If Size is very big than we have to use the NIO package with channel, buffer and read the file with chunks of file an chunk size means buffer size.
package com.first;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.io.Reader;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.StringTokenizer;
public class FrequencyWord {
public static void main(String[] args) {
BufferedReader br = null;
StringTokenizer st;
HashMap<String, Integer> hm=new HashMap<String, Integer>();
try {
FileReader f=new FileReader("E:\\java Preparation\\click me\\Rescued.txt");
// InputStream is=new FileInputStream(f);
//System.out.println(is.read());
br = new BufferedReader(f);
String sCurrentLine;
String word;
int count;
while ((sCurrentLine = br.readLine()) != null) {
st=new StringTokenizer(sCurrentLine," ");
while(st.hasMoreTokens())
{
word=st.nextToken();
if(hm.containsKey(word))
{
count=hm.get(word);
count++;
hm.put(word,count);
}
else
{
hm.put(word, 1);
}
}
System.out.println(sCurrentLine);
System.out.println("********************");
}
System.out.println(hm.size());
Set<String> keyset=hm.keySet();
Iterator it=keyset.iterator();
String key;
int maxfreq=1;
String maxword = null;
int freq;
while(it.hasNext())
{
key=(String) it.next();
freq=hm.get(key);
if(freq>maxfreq)
{
maxfreq=freq;
maxword=key;
}
}
System.out.println(maxword+" : "+maxfreq);
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e)
{
e.printStackTrace();
}
}
}
I have tested it with the file have 50000 words and output is "the " as highest
6 Race is not right answer to find out the top 3 horse.
Case:first round B1:5 B2:5 B3:5 B4:5 B5:5 and find out the best from each batch.
But suppose any batch have best 2 or best 3 may be. We are selecting only the best not 2nd or 3rd best from the each batch , which may be the 2nd or 3rd best in all 25 horse ..
i think you got my point
RepLoriKetron, Accountant at Aspire Systems
I am a content marketing professional at HubatSpot, an inbound marketing and sales platform that helps companies attract visitors, convert ...
RepEviePaul, Member Technical Staff at Abs india pvt. ltd.
I am a Studio camera operator from Florida USA.I love to relax n' chill. love when it's cloudy ...
RepRichardWParks, Accountant at ADP
public static Node NmergeSort(LinkedList A[]){
- rathor.rajeev September 01, 2016int N= A.length;
Node res=null;
Node node = new Node(null, 0);
while(A.length>0){
int min = Integer.MAX_VALUE;
int I=-1;
for(int i=0;i<N;i++){
if(A[i]!=null && A[i].head.val<min){
min = A[i].head.val;
I=i;
}
}
node = A[I].head;
A[I].head = A[I].head.next;
if(res==null){
res = node;
}else{
node.next=res;
res=node;
}
}
return res;
}