We have following openings :

SOFTWARE DEVELOPMENT ENGINEER (SDE)

Location : Noida (UP) India

Education : Graduate or above in computer science / engineering from a recognized institute

Job Description

  • Develop mobile applications using a Model View Controller architecture
  • Complete feature ownership including user interface, usability feedback incorporation, and quality control
  • The ideal candidate will be able to commit long term to deep specialized feature areas, develop in-depth expertize and insight into feature usage.
  • Preference will be given to candidates with good oral and written communication skills and job responsibilities require work closely with design and marketing staff

Candidate Requirements

  • Exposure to UNIX/LINUX.
  • Exposure to NodeJS, RDBMS (Postgresql Preferred)
  • Exposure to HTML, CSS, Javascript, Ajax, Angular JS
  • Clear understanding of Data Structures, Algorithms and Object Oriented System Design.

Interview Challenge 

CSV Parsing

A CSV file typically contains a header, followed by one or more empty lines, and then rows containing data corresponding to the headers. For example, a nice clean CSV file might look like this :

TEST-1

foo , bar, baz

fee, fie, fum

ho, ha, hum

zip, zap, zoom

Real world data can, however, get complicated with special characters, embedded comma's, empty lines and the presence of numbers in the data. For example, a messy CSV file may look like this :

TEST-2

----------

fooxxx , bar, baz

fee , "f, ie" , fum

ho, ha , "h,,um""xxx"

zip11, zap0, zoom's~to~'fly'

Finally, a significant data set can have multiple "chunks" of varying shapes in it, for example:

TEST-3

---------

col1, col2, col3, col4

data11, data12, data13, data14

data21, data22, data23, data24

data31, data32, data33, data34

data41, data34, data43, data44

col5, col6, col7

data51, data52, data53

data61, data64, data63

ASSIGNMENT

-----------------

Write a function in any language that accepts the above TEST-1, TEST-2 and TEST-3 as input and emits a parsed structure for the data in the csv. The function signature for TEST-1 is shown as an example (in javascript).

function myCsvParser ( inStr ) {

var result = {}

// your code here

return result

}

var test1 = 'foo , bar, baz \n\nfee, fie, fum\nho, ha, hum\nzip, zap, zoom\n'

var result = myCsvParser(test1)

console.log (result)

/* prints { header : ['foo', 'bar', 'baz'], data : [ ['fee', 'fie', 'fum'], ['ho', 'ha', 'hum'], ['zip', 'zap', 'zoom']] */

Submission Guidelines

To submit your work send your running code in text file and mail to careers@saralweb.com with subject "SDE Assignment - October 2018".

Submission Deadline

Candidates will be considered in the order of assignment submission. Please submit your assignment as soon as possible.