IPB





Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Need some help from Javascript and SQL peeps, I have an assesment test I have been working on
fido77
post Oct 31 2021, 10:08 PM
Post #1


Knight Lieutenant
********

Group: Clan Members
Posts: 989
Thank(s): 1
Points: 215
Joined: 5-June 08
From: Tyler, Texas, US
Member No.: 124




I have this assessment test I have been working on for my job. I don't mess with JavaScript or SQL very often, but they want me to finish it anyway :/
Was wondering if anyone here, like my good buddy Monkeyfiend, has any experience with it. I'm more of an OOP C# programmer. It looks simple enough, but I'm stuck on the second set of JavaScript questions and the second two SQL questions. I put answers, but I want to be sure they are correct before sending it back Monday morning. I'll just post them here for anyone who wants to give it a shot. Very much appreciated for any assistance.

//JavaScript

let data = ["A","B","C"];
let results = ["1","2","3"];
let entity = {};
for(let i = 0; i < data.length; i++){
entity[data[i]] = results[i];
}
console.log(entity);
Question: What do you expect the console.log will output?
--------------------------------------------------------------------------------------------
let fs = require('fs');

function read() {
var promise = new Promise(function(resolve, reject) {
fs.readFile("myFile.txt", "utf8", (err, data) => {

if (!err) {
resolve(data);
}
else {
reject(err);
}
});
});
return promise;
}


Question: Use the read function and output the results.
read().then((x) => {console.log(x)}).catch((err) => console.log(err) );
----------------------------------------------------------------------------
async / await option
try{
const x = await read();
console.log(x);
}catch(err){
console.log(err);
}
-------------------------------------------------------------------------------
function getText(text){
return new Promise(function(resolve, reject){
setTimeout(function(){
if(text)
resolve(text);
else
reject(new Error("text is empty"))
}, Math.random() * 10);
});
}
function logData(data){
console.log(data);
}

getText("Hello").then(logData);
getText("World").then(logData);

Question: Sometimes this app produces “Hello World” sometimes it produces “World Hello”. Explain why and correct it.
----------------------------------------------------------------------------------------------------------------------------------------

function data (){
return [1,2];
}

let [x,y] = data();

console.log(x);
console.log(y);
Question: What will console log out in this program and why?
________________________________________
_______________

SQL Technical Screening

Books
Id (int)
Title (text)
Price (int)
Authors
Id (int)
Name (text)
BookAuthors
BookId (int)
AuthorId (int)

WRITE A SELECT STATEMENT SHOWING ALL THE BOOKS ORDERED BY TITLE IN ASCENDING ORDER

WRITE A SELECT STATEMENT SHOWING ALL THE BOOKS AND THE BOOK'S RELATED AUTHOR(S)

WRITE A SELECT STATEMENT SHOWING THE AVERAGE COST OF A BOOK BY AUTHOR




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

Go to the top of the page
 
+Quote Post
fido77
post Nov 1 2021, 03:49 AM
Post #2


Knight Lieutenant
********

Group: Clan Members
Posts: 989
Thank(s): 1
Points: 215
Joined: 5-June 08
From: Tyler, Texas, US
Member No.: 124




I almost have all the SQL completed, which seems simple, but the last one I am having a problem with. I'm getting the average of all the prices instead of just the average price of the books by a certain author. Here is what I have wrote:

Select Authors.Name, AVG(Price) AS AVG_Price
From Authors, BookAuthors
INNER JOIN Books ON BookAuthors.BookID = Books.ID
GROUP BY Authors.name;


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

Go to the top of the page
 
+Quote Post
fido77
post Nov 1 2021, 04:28 AM
Post #3


Knight Lieutenant
********

Group: Clan Members
Posts: 989
Thank(s): 1
Points: 215
Joined: 5-June 08
From: Tyler, Texas, US
Member No.: 124




I think I got it smile.gif

Select Authors.Name, AVG(Price) AS AVG_Price
From Authors INNER JOIN BookAuthors ON BookAuthors.AuthorID = Authors.ID
INNER JOIN Books ON BookAuthors.BookID = Books.ID
GROUP BY Authors.name;

That seems to work.

Now, The only part on the Javascript I'm having seems to trouble everyone I've talked to. This is what they gave me:

let fs = require('fs');

function read() {
var promise = new Promise(function(resolve, reject) {
fs.readFile("myFile.txt", "utf8", (err, data) => {

if (!err) {
resolve(data);
}
else {
reject(err);
}
});
});
return promise;
}

------------------------------------------------------------------------------
Question: Use the read function and output the results.

read().then((x) => {console.log(x)}).catch((err) => console.log(err) );
--------------------------------------------------------------------------------
async / await option

try{
const x = await read();
console.log(x);
}catch(err){
console.log(err);
}

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

That is what they gave me. I didn't put any answer yet. I'm not sure what to do with this. It's almost like they gave me the problem and the answer, and there is nothing left to do. Am I missing something here?


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

Go to the top of the page
 
+Quote Post
Sir Robin (not s...
post Nov 1 2021, 01:21 PM
Post #4


Knight Lieutenant
********

Group: Veteran SM Members
Posts: 907
Thank(s): 515
Points: 907
Joined: 9-March 16
From: Bulgaria
Member No.: 4,846




My JavaScript-fu is quite weak. I saved the program along with the first answer in t.js and ran it with node t.js.

This produced the following error:
CODE
{ [Error: ENOENT: no such file or directory, open 'myFile.txt'] errno: -2, code: 'ENOENT', syscall: 'open', path: 'myFile.txt' }


Note, I'm on Linux. The error may look different on another system.

I then created the file myFile.txt, with one line of text "Some stuff" and reran the program. This is what I got:
CODE
Some stuff



I then replaced the first answer with the await one and rerun the code. This time I got an error:

CODE
/tmp/fido/t.js:22
const x = await read();
^^^^^

SyntaxError: await is only valid in async function
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)


I'm not sure if they are asking you to select the working answer, or to fix the await one to work too. If it's the latter, you'll need to google how to use javascript await.

HTH
Go to the top of the page
 
+Quote Post
The Following 1 Users Say Thank You to Sir Robin (not so brave) For This Useful Post:
fido77
fido77
post Nov 2 2021, 02:57 AM
Post #5


Knight Lieutenant
********

Group: Clan Members
Posts: 989
Thank(s): 1
Points: 215
Joined: 5-June 08
From: Tyler, Texas, US
Member No.: 124




I appreciate your time for looking into this Sir Robin! I just sent it back to them and said I believe something is missing, like the file to read from. They said that one of the developers made the assessment test, and that there could be something missing. I guess we'll find out sometime this week smile.gif


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

Go to the top of the page
 
+Quote Post
The Following 1 Users Say Thank You to fido77 For This Useful Post:
Sir Robin (not so brave)
Sir Robin (not s...
post Nov 9 2021, 04:37 PM
Post #6


Knight Lieutenant
********

Group: Veteran SM Members
Posts: 907
Thank(s): 515
Points: 907
Joined: 9-March 16
From: Bulgaria
Member No.: 4,846




Hey fido. How did it go?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 



RSS Lo-Fi Version Time is now: 29th November 2021 - 12:21 AM
Sneaky Monkeys Clan :: MonkeyFiend.com