SD
Deep Dive into AJAX and JavaScript
Test your knowledge of AJAX, JavaScript, and their applications in web development through this engaging quiz. Whether you're a student, a teacher, or a professional looking to refresh your skills, this quiz covers essential concepts and practical applications.
Key Topics:
- AJAX Techniques
- JavaScript Object Manipulation
- Thread Management in Java
- SPARQL and RDF Knowledge
L’utilizzo di servizi di terze parti tramite AJAX
Non è possibile con il solo puro JavaScript, è necessario l’utilizzo di framework quali ad esempio JQuery
Richiede obbligatoriamente l’utilizzo del linguaggio XML
Può avvenire anche in assenza di connettivirtà da parte del client
Richiede la conoscenza delle specifiche API e formati di interscambio prescritto dal servizio utilizzato
Tramite l’utilizzo di tecniche AJAX:
È possibile rendere una pagina reattiva ad eventi generati dall’utente ma anche eseguire ciclicamente funzioni JavaScript indipendentemente da stimoli da parte dell’utente
È possibile rendere una pagina reattiva ad eventi generati dall’utente ma non è possibile far di che esibisca un comportamento spontaneo, in assenza di stimoli da parte dell’utente
Permette la comunicazione con sevizi remoti tramite l’importazione di librerie scritte in linguaggi diversi da JavaScript
Non è comunque possibile interagire con servizi remoti, ma solo effettuare controlli e adattamenti sulla pagina locale ed eventualmente sui dati contenuti nelle form
Le applicazioni AJAX-JSON sono più efficienti di quelle AJAX-XML?
Si, perché I dati JSON sono in formato compilabile JavaScript
Si, perché I dati JSON sono in formato testo
No, sono equivalenti
No, perché XML è più espressivo
In riferimento all’architettura AJAX, JavaScript è usato:
Il tier di presentazione
Solo per il tier di logica
Per il tier di presentazione ma può anche realizzare almeno parte della logica applicativa
Sempre sia per il tier di logica applicativa e di presentazione
In Javascript è possibile modificare dinamicamente il contenuto e la struttura di una pagina HTML, per selezionare un elemento della pagina…
è necessario l’utilizzo di framework quali jQuery
Non è possibile modificare il contenuto e la struttura di una pagina HTML, al massimo si possono rendere visibili o nascosti degli elementi presenti nella pagina stessa
è necessario conoscere il percorso che porta all’elemento da selezionare all’interno dell’albero DOM
Si possono utilizzare funzioni Javascript di base offerte dal browser quali ad esempio document.getElement oppure funzionalità offerte da framework come ad esempio I selettori di jQuery
Come gestisce il tipo di dato delle variabili javascript?
Il tipo cambia in base a ogni assegnamento
Non lo gestisce
Javascript è una libreria, è JQuery ad occuparsi delle variabili
Altra risposta per simetria
.Usando le API di Google Maps con JavaScript:
Si possono interrogare direttamente dei servizi offerti da Google, senza importare librerie e senza necessità di autenticarsi in alcun modo
Non posso utilizzare mappe di Google da un linguaggio di programmazione, ma solo tramite interfaccia utente
Viene utilizzato il protocollo websocket per evitare un elevato numero di messaggi HTTP (in particolare di tipo GET)
È necessario importare delle librerie e indicare una chiave associata allo sviluppatore per poter utilizzare le API di Google Maps
Dato l’oggetto JavaScript definito come segue: var cat = {colour: “grey”, name: “Spot”, size: 46};
La struttura dell’oggetto non è modificabile dinamicamente
Il seguente assegnamento non è valido perché comporterebbe un cambiamento di tipo: cat.size = “Pippo”;
Per accedere al campo name si deve indicare cat.name
La dichiarazione è scorretta: un oggetto è necessariamente istanza di una classe anche in JavaScript
Dato l’array JavaScript definito come segue: var myArr = {“Primo”, “Secondo”, “Terzo”};
Per aggiungere un valore numerico 4 in coda un comando adatto è myArr[myArr.length]=4
Per accedere all'ultimo elemento si deve usare myarr[myarr.length];
Non è possibile inserire valori di tipo diverso da stringa all'interno di questo array
Il seguente assegnamento è valido myarr[9]="decimo";
Per aggiungere una stringa "zero" in testa all'array, spostando automaticamente gli elementi pre esistenti, il comando adatto è myarr[0]="zero";
.Function init(){ Var link = document.getelementbyid(“foo”); Settimeout(function changecolor(){ Link.style.color=”burlywood”; //A }, 1000); } Init(); L’istruzione indicata dal commento contenente la lettera a quando viene eseguita?
Al passaggio del mouse sull’elemento DOM che abbia identificativo “foo”
Allo scadere di un timeout di circa 1 secondo a partire dal momento della chiamata della funzione init
All’atto dell’inizializzazione della pagina
Ciclicamente a intervalli di circa 1 secondo a partire dall’inizializzazione della pagina
Function init(){ Var link = document.getelementbyid(“foo”); Link.addeventlistener(“click”, function changecolor(){ Link.style.color=”burlywood”; //A ??? }); } Init(); L’istruzione indicata dal commento con la lettera A quando viene eseguita?
All’atto dell’inizializzazione della pagina
Ad ogni passaggio del mouse sull’elemento DOM che abbia identificativo “foo”
Ad ogni click del mouse sull’elemento DOM che abbia identificativo “foo”
Al primo click del mouse sull’elemento DOM che abbia identificativo “foo”
2.Nella piattaforma Node.js I programmi scritti in Javascript:
Non potendo implementare diversi thread di controllo sono inadatti a realizzare server e applicazioni distribuite in generale;
Possono essere eseguiti in più thread di controllo grazie al fatto che il linguaggio contiene una classe thread e meccanismi per la gestione della concorrenza;
Sono di norma eseguiti in un unico thread di controllo;
Se realizzano un server di qualche genere devono adottare un approccio multithread, con un thread per l’ascolto delle richieste e un server per la gestione di ogni richiesta;
Se scriviamo un algoritmo che occupa molto la CPU in un programma node.js
È meglio associarlo a un thread di controllo creato con una libreria base del linguaggio JS
Lo scheduler interno allo scadere del tempo metterà in stato di ready il task associato all’algoritmo…
La piattaforma attiverà un altro thread del pool che di norma gestisce l’IO per gestire…
Causiamo un lungo ritardo nella gestione degli eventi che possono verificarsi dopo l’inizio della gestione dell’algoritmo
Un’istruzione Java:
In alcuni casi pur non essendo atomica è composta da un numero talmente esiguo di istruzioni da poter essere considerata tale;
Di norma non si deve considerare atomica ma composta da operazioni base interrompibili dallo scheduler;
In alcuni casi, per esempio gli incrementi e decrementi di variabile, è atomica;
Può essere resa atomica mediante synchronized;
Il controllo dell’accesso di più thread Java a diverse operazioni (tanto in lettura quanto in scrittura) a metodi di risorse condivise in generale…
Richiede la specifica del qualificatore synchronyzed per I metodi per I quali si vuole forzare la mutua esclusione ma anche la notifica del metodo notify da parte di chi termina l’esecuzione del metodo in mutua esclusione per svegliare chi è stato bloccato;
Non è possibile con l’approccio a monitor adottato da java ma richiede l’uso di semafori;
Richiede semplicemente synchronized per I metodi per I quali si vuole forzare la mutua esclusione;
Oltre alla specifica del qualificatore synchronized nei metodi per I quali si vuole forzare la mutua esclusione richiede un attenta definizione di condizioni per il blocco (messa in attessa) e risveglio (notifica) dei thread;
Il quantificatore synchronized applicato ad un blocco di codice Java significa che viene eseguito in mutua esclusione rispetto:
Ad altri oggetti di tipo Thread
Ad altre classi che implementano l'interfaccia Runnable
Agli altri metodi o blocchi dello stesso oggetto
In Java, l'esecuzione di un metodo synchronized comporta l'acquisizione di un lock associato all'oggetto su cui viene invocato il metodo. QUALI eventi provocano il rilascio del lock da parte della macchina virtuale? (forse 2 risposte)
La terminazione del metodo (o l’invocazione del metodo wait()).
La scadenza di un quanto di tempo predeterminato
Quando un thread in un programma Java, riceve una notifica attraverso il metodo notifyALL, in quale stato viene spostato (in riferimento al ciclo di vita dei thread)?
Waiting
Ready
Blocked
Running
Un thread A è bloccato perché ha provato ad eseguire un metodo synchronized di un oggetto O mentre un altro thread B stava già eseguendo lo stesso metodo dello stesso oggetto. Il thread B chiama il metodo wait. In che stato passa il thread A?
Waiting
Ready
Blocked
Running
Quando un thread invoca il metodo wait() succede che:
Il codice del main viene messo in attesa.
Si aspetta un input da utente.
L’esecuzione viene sospesa a tempo indeterminato e il lock rilasciato
Viene bloccata l'esecuzione del programma.
Nel diagramma degli stati di un thread A in java, la transizione tra lo stato di blocked allo stato ready da quali eventi può essere causata?
Dalla chiamata da parte di un altro thread del metodo notifyAll all’interno di un metodo dell’oggetto sul quale A si è messa in attesa
Dal completamento di un’operazione di I/O
Dal rilascio del lock intrinseco dell’oggetto da parte di un altro thread che aveva causato il passaggio di A da running a blocked
Dal completamento di un’operazione di I/O o dal rilascio del lock intrinseco dell’oggetto da parte di un altro thread che aveva causato il passaggio di A da running a blocked
Quando un thread A in un programma Java è bloccato dopo aver provato ad eseguire un metodo synchronized di un oggetto O mentre un altro thread B stava già eseguendo .... Dello stesso oggetto, quale evento lo può far uscire da questo stato?
Il fatto che il thread B termini l'esecuzione del metodo synchronized
Il fatto che thread B chiami il metodo notifyAll all’interno di un metodo dell’oggetto O
Il fatto che lo scheduler lo selezioni per l’assegnazione del quanto di tempo
A quali entità sono associati I Lock gestiti automaticamente dalla macchina virtuale Java?
Metodi
Interfacce
Oggetti
Classi
Quale è l’unità informativa base di una base di conoscenza RDF?
Una tripla (un soggetto, un predicato e un oggetto, del quale il terzo può essere un tipo di dato predefinito)
Una riga di una tabella dotata di un numero arbitrario di colonne
Una tupla (un record con un numero arbitrario di campi, ognuno dotato di un tipo di dato predefinito)
Un grafo, un insieme di nodi alcuni dei quali possono essere un tipo di dato predefinito collegati da archi
Un grafo derivante da un insieme di triple RDF è caratterizzabile come:
In realtà si tratta di un albero;
Orientato ma non etichettato;
Orientato ed etichettato;
Non orientato ed non etichettato
Il risultato di una query SPARQL di tipo SELECT è normalmente
Oggetti Javascript (formato JSON);
Una tabella
In formato XML
Un insieme di triple RDF;
Qual è la differenza maggiore tra wikipedia e DBpedia
Il fatto che sono presentati in un formato HTML più facilmente analizzabile tramite un programma
Il fatto di poter avere risultati in linguaggi differenti
La possibilità di effettuare query SPARQL e poter avere risultati machine readable
Non ci sono differenze significative
Il gestore di query SPARQL di DBPedia fornisce risultati:
Esclusivamente in formato HTML, per la consultazione da parte di un utente umano; -sotto forma di tabella in formato HTML;
In una serie di formati, tra cui HTML per debug, ma anche XML e Json, sulla base di quanto selezionato dall’utente nell’interfaccia web;
In una serie di formati, tra cui HTML per debug, ma anche XML e JSON, a seconda dell’header o di un parametro della richiesta http
È possibile inviare con JSON un oggetto java?
Si perché è serializzato e inviabile via rete
No perché non permette di rappresentare
Sì perché permette di rappresentare completamente lo stato di un oggetto.
No perché deve essere serializzato per essere inviabile via rete
.Per poter effettuare delle query SPARQL a un insieme di triple RDF
è possibile solo effettuare query SPARQL a DBPEDIA o altri server pubblicamente accessibili via internet;
è necessario utilizzare il linguaggio JavaScript e importare nella pagina delle librerie proprietarie, scritte in altri linguaggi, che gestiscano il file RDF ed elaborino la query SPARQL;
è sufficiente avere a disposizione il file con le triple RDF, Javascript è in grado di gestire direttamente file RDF in formato JSON ed effettuare query SPARQL;
è necessaria la presenza di un software che gestisca le triple RDF, come un DBMS gestisce una base di dati relazionale;
In che formato restituisce la risposta di una query SPARQL
XML, ma è un formato troppo complicato nella lettura e si sceglie come altra opzione TURTLE, formato più leggibile, composto da: (ripetuto una volta all’inizio) seguito poi da Oggetto
In generale è una tabella. È inoltre possibile ricevere XML o JSON modificando l'header o indicandolo nel parametro options.
.Db.query(“select x from table y”, function (result){ doSomethingwith(result);//A } ); doSomethingwithoutResult();//B L’istruzione A viene eseguita (si supponga che la funzione doSomethingWithoutResult() non abbia immediatamente un operazione di I/O)
Prima di B
Prima o dopo di B (dipende dallo scheduler)
Dopo B
In un altro thread di controllo
L'edge computing ha acquisito importanza per (+risposte):
Ridurre le complessità dei sistemi
Limitare il trasferimento di grandi quantità di dati e migliorare la latency dei sistemi
Introdurre una struttura gerarchica nell'architettura dei sistemi
Meglio considerare temi di mobilità e località dei sistemi
Un vantaggio della virtualizzazione è che:
Migliora affidabilità software installato
Viene garantita l’integrità del sistema anche di fronte a fallimenti software
Viene garantito accesso a tutte le periferiche collegate al sistema
Migliora le prestazioni
Quale di queste affermazioni cattura meno le caratteristiche di un generico microservice?
Ogni microservizio dipende dagli altri microservizi dell'applicazione
Ogni microservice connesso solo alle basi dati che gli competono
I microservice sono unità indipendenti di deployment
I microservice adottano il principio di singola responsabilità
Quale di queste affermazioni non riguarda I microservice?
Choreagraphy over orchestration
Asynchronous over Syncronous
Centralized over distributed
Low coupleing and high coesion
I principali vantaggi nell’uso di container docker sono che.. (più risposte)
Consentono di definire un unità standard di deployment;
Consentono la distribuzione di un applicazione su più nodi della rete;
Isolano un applicazione dai tool ad essa collegati;
Isolano da elementi esterni un applicazione ed I tool ad essa collegati;
Quale affermazione è più adatta per definire una public cloud? Una public cloud…
Offre servizi personalizzabili;
Open source ad accesso illimitato;
Offre servizi relativi alla pubblica amministrazione;
Offerta a terze parti con modalità standard;
Le applicazioni native in Android sono da preferire alle applicazioni ibride perché:
Non vengono usate in quanto rendono l'hardware più lento
Sono più performanti
Interfacce omogenee
Le applicazioni ibride sono da preferire alle applicazioni native in Android perché
Interfacce omogenee
Più facili da mantenere
Più performanti
Più portabili;
Le applicazioni native in Android sono scritte in java e caricate dalla rete in file:
.jar
.apk
.dex
.class
Per quali motivi l’architettura del sistema operativo Android si basa su macchina virtuale?(+ risposte)
Aumenta il controllo sull’esecuzione dei programmi;
Sfrutta meglio le caratteristiche dell’hardware ospitante;
Migliora le performance di esecuzione;
Disaccoppia il software dall’ hardware ospitante;
Quale definizione è più appropriata per System of Records (SoR)? Si occupa di…
Processi tra aziende e fornitori;
Gestione dei processi di business di un’impresa;
Della parte visibile di un sistema servizi;
Delle persone e del loro coinvolgimento nelle attività abituali;
Quali motivi in un virtual machine monitor (hypervisor) può convenire utilizzare le features del sistema operativo ospitante (HostOS)
È più semplice da installare e mantenere
Trasferisce e utilizza il controllo dell’HostOS con un overhead limitato
Sfrutta meglio la capacità di memoria del hardware ospitante
Sfrutta il sistema di garanzia di performance e la qualità del servizio dei sistemi operativi moderni come linux e windows
Per quali motivi il in un VMM può convenire usare le features dell'OS ospitante per effettuare l'I/O (+risposte):
È più semplice da installare e mantenere
Sfrutta meglio la capacità di memoria dell'HW ospitante
Sfrutta il sistema di garanzia performance e qualità di servizio dei sistemi operativi moderni come linux e windows
Trasferisce e utilizza il controllo del HostOS con un overhead limitato
Quale meccanismo di interazione fra processi è incorporato nel linguaggio FSP?
Condivisione di memoria
Scambio di messaggi
Esecuzione simultanea di azioni
Condivisione di stati
{"name":"SD", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge of AJAX, JavaScript, and their applications in web development through this engaging quiz. Whether you're a student, a teacher, or a professional looking to refresh your skills, this quiz covers essential concepts and practical applications.Key Topics:AJAX TechniquesJavaScript Object ManipulationThread Management in JavaSPARQL and RDF Knowledge","img":"https:/images/course4.png"}