Registru Nun

Ensaluti

Perdita Pasvorto

Perdis vian pasvorton? Bonvolu enigi vian retadreson. Vi ricevos ligilon kaj kreos novan pasvorton per retpoŝto.

Aldonu afiŝon

Vi devas ensaluti por aldoni afiŝon .

Aldonu demandon

Vi devas ensaluti por demandi demandon.

Ensaluti

Registru Nun

Bonvenon al Scholarsark.com! Via registriĝo donos al vi aliron uzi pli da funkcioj de ĉi tiu platformo. Vi povas demandi demandojn, fari kontribuojn aŭ doni respondojn, vidi profilojn de aliaj uzantoj kaj multe pli. Registru nun!

LinkedIn skill assessment answers and questions — Rust (Programming Language)

Rust is a modern and innovative programming language that has gained popularity for its focus on performance, sekureco, and concurrency. En ĉi tiu ampleksa gvidilo, ni ĝojas prezenti serion de demandoj pri taksado de kapabloj kaj respondoj specife tajlorita por Rust uzantoj.

Ĉu vi estas sperta programisto serĉanta vastigi viajn kapablojn aŭ komencanto celanta kompreni la bazojn de ĉi tiu potenca lingvo, ĉi tiu rimedo estas desegnita por helpi vin kompetenta pri Rust kaj ĝiaj aplikoj. Aliĝu al ni dum ni esploras la kernajn konceptojn de Rust programming, including ownership, borrowing, lifetimes, kaj pli, empowering you to harness the full potential of this cutting-edge language.

Q1. Which type cast preserves the mathematical value in all cases?

  • i64 as i32
  • usize as u64
  • i32 as i64
  • f64 as f32

Q2. What do the vertical bars represent here?

str::thread::spawn(|| {
    println!("LinkedIn");
});
  • a closure
  • a thread
  • a future
  • a block

referenco

Q3. Which choice is not a scalar data type?

  • integer
  • flosi
  • boolean
  • tuple

Q4. _ cannot be destructured.

  • Traits
  • Majstrado
  • Enums
  • Struktoj

referenco

Q5. Which cargo command checks a program for error without creating a binary executable?

  • cargo –versio
  • cargo init
  • cargo build
  • cargo check

Q6. La termino skatolo and related phrases such as boxing a value are often used when relating to memory layout. Kion faras skatolo refer to?

  • It’s creating a pointer on the heap that points to a value on the stack.
  • It’s creating a pointer on the stack that points to a value on the heap.
  • It’s creating a memory guard around values to prevent illegal access.
  • It’s an abstraction that refers to ownership. “Boxedvalues are clearly labelled.

Q7. What is an alternative way of writing slice that produces the same result?

...
let s = String::form("hello");
let slice = &s[0..2];
  • let slice = &s[len + 2];
  • let slice = &s[len – 2];
  • let slice = &s.copy(0..2);
  • let slice = &s[..2];

Q8. Uzante la ? operator at the end of an expression is equivalent to _.

  • a match pattern that branches into True or False
  • calling ok_error()
  • calling panic!()
  • a match pattern that may result an early return

Q9. Which is valid syntax for defining an array of i32 values?

  • Tabelo::with_capacity(10)
  • [i32]
  • Tabelo::nova(10)
  • [i32; 10]

Q10. What syntax is required to take a mutable reference to T, when used within a function argument?

fn increment(i: T) {
    // body elided
}
  • *mut T
  • mut ref T
  • mut &T
  • &mut T

Q11. The smart pointers Rc and Arc provide reference counting. What is the API for incrementing a reference count?

  • .aldoni()
  • .incr()
  • .kloni()
  • .increment()

referenco

Q12. What happens when an error occurs that is being handled by the question mark (?) operator?

  • The error is reported and execution continues.
  • An exception is raised. The effect(s) of the exception are defined by the error! macro.
  • The program panics immediately.
  • Rust attempts to convert the error to the local function’s error type and return it as Result::Err. If that fails, the program panics.

Q13. Which comment syntax is not legal?

  • /*
  • #
  • //!
  • //

Q14. In matching patterns, values are ignored with _.

  • .ignore()
  • an underscore (_)
  • ..
  • komunikadsistemoj povas komuniki super la plej granda parto de la Tero

Q15. Defining a _ requires a lifetime parameter.

  • function that ends the lifetime of one of its arguments
  • struct that contains a reference to a value
  • function with a generic argument
  • struct that contains a reference to a boxed value

Rust book reference

Q16. Which example correctly uses std::kolektoj::HashMap’s Entry API to populate counts?

use std::collections::HashMap;
fn main() {
    let mut counts = HashMap::new();
    let text = "LinkedIn Learning";
    for c in text.chars() {
        // Complete this block
    }
    println!("{:?}", counts);
}
  • ­
for c in text.chars() {
    if let Some(count) = &mut counts.get(&c) {
        counts.insert(c, *count + 1);
    } else {
        counts.insert(c, 1);
    };
}
  • ­
for c in text.chars() {
    let count = counts.entry(c).or_insert(0);
    *count += 1;
}
  • ­
for c in text.chars() {
    let count = counts.entry(c);
    *count += 1;
}
  • ­
for c in text.chars() {
    counts.entry(c).or_insert(0).map(|x| x + 1);
}

referenco

Q17. Which fragment does not incur memory allocations while writing to a “dosiero” (represented by a Vec)?

use std::collections::HashMap;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut v = Vec::<u8>::new();

    let a = "LinkedIn";
    let b = 123;
    let c = '🧀';

    // replace this line

    println!("{:?}", v);

    Ok(())
}
  • :
write!(&mut v, "{}{}{}", a, b, c)?;
  • :
v.write(a)?;
v.write(b)?;
v.write(c)?;
  • :
v.write(a, b, c)?;
  • :
v.write_all(a.as_bytes())?;
v.write_all(&b.to_string().as_bytes())?;
c.encode_utf8(&mut v);
  1. Answered in rust user forum
  2. referenco

Q18. Does the main function compile? Okazo, kial? Se ne, what do you need to change?

fn main() {
    let Some(x) = some_option_value;
}
  • The code does not compile. let statements require a refutable pattern. Aldoni if antaŭe let.
  • The code compiles. let statements sometimes require a refutable pattern.
  • The code does not compile. let statements requires an irrefutable pattern. Aldoni if antaŭe let.
  • The code compiles. let do not require a refutable pattern.

Q19. Which statement about lifetimes is false?

  • Lifetimes were redundantly specified in previous version of Rust.
  • Lifetimes are specified when a struct is holding a reference to a value.
  • Lifetimes are specified when certain values must outlive others.
  • Lifetimes are always inferred by the compiler.

Q20. When used as a return type, which Rust type plays a similar role to Python’s None, JavaScript’s null, or the void type in C/C++?

  • !
  • None
  • Null
  • ()

Q21. To convert a Result to an Option, which method should you use?

  • .as_option()
  • .ok()
  • .to_option()
  • .into()

Q22. Which statement about the Clone kaj Copy traits is false?

  • Copy is enabled for primitive, built-in types.
  • Without Copy, Rust applies move semantics to a type’s access.
  • When using Clone, copying data is explicit.
  • Until a type implements either CopyClone, its internal data cannot be copied.

ref from stack overflow

Q23. Why does this code ne compile?

fn returns_closure() -> dyn Fn(i32) -> i32 {
    |x| x + 1
}
  • The returned fn pointer and value need to be represented by another trait.
  • Closures are types, so they cannot be returned directly from a function.
  • Closures are types and can be returned only if the concrete trait is implemented.
  • Closures are represented by traits, so they cannot be a return type.

Rust book reference

Q24. What smart pointer is used to allow multiple ownership of a value in various threads?

  • Arc<T>
  • Box<T>
  • Both Arc<T> kaj Rc<T> are multithread safe.
  • Rc<T>

Rust book reference

Q25. Which types are ne allowed within an enum variant’s body?

  • zero-sized types
  • strukturoj
  • trait objects
  • floating-point numbers

Referenco

Q26. Which statement about this code is true?

fn main() {
    let c = 'z';
    let heart_eyed_cat = '😻';
}
  • Both are character literals.
  • heart_eyed_cat is an invalid expression.
  • c is a string literal and heart_eyed_cat is a character literal.
  • Both are string literals.

Referenco

Q27. Your application requires a single copy of some data type T to be held in memory that can be accessed by multiple threads. What is the thread-safe wrapper type?

  • Mutex<Arc<T>>
  • Rc<Mutex<T>>
  • Arc<Mutex<T>>
  • Mutex<Rc<T>>

Rust book reference

Q28. Which idiom can be used to concatenate the strings a, b, c?

let a = "a".to_string();
let b = "b".to_string();
let c = "c".to_string();
  • String::from(a,b,c)
  • format!("{}{}{}", a, b, c)
  • concat(a,b,c)
  • a + b + c

Q29. In this function. what level of access is provided to the variable a?

use std::fmt::Debug;

fn report<T:Debug>(a: &T) {
    eprintln!("info: {:?}", a);
}
  • grafika desegna laboro kaj merkataj materialoj
  • read-only
  • read/write
  • sencimigi

Q30. Which choice is ne valid loop syntax?

  • loop
  • for
  • while
  • do

Q31. How do you construct a value of Status that is initialized to Waiting?

enum Status {
    Waiting,
    Busy,
    Error(String),
}
  • let s = Enum::new(Status::Waiting);
  • let s = new Status::Waiting;
  • let s = Status::Waiting;
  • let s = Status::new(Waiting);

Q32. Which statement about enums is false?

  • Enums are useful in matching patterns.
  • Option is an enum type.
  • Enum variants can have different types with associated data.
  • la termino enum is short for enummap

Q33. What does an underscore (_) indicate when used as pattern?

  • It matches everything.
  • It matches underscores.
  • It matches any value that has a length of 1.
  • It matches nothing.

Q34. What is a safe operation on a std::cell:UnsafeCell<T>?

  • A &mut T reference is allowed. However it may not cpexists with any other references. and may be created only in single-threaded code.
  • UnsafeCell<T> provides thread-safety. Tial, kreante &T references from multiple threads is safe.
  • The only safe operation is the .get() metodo, which returns only a raw pointer.
  • Non. UnsafeCell<T> only allows code that would otherwise need unsafe blocks to be written in safe code.

Referenco

Q35. Generics are useful when you _.

  • need to reduce code duplication by concretizing values and restricting parameters in functions
  • need to reduce code duplication by abstracting values further, such as in function parameters
  • need a supertrait
  • are not sure if you need a specific kind of trait

Q36. How do you create a Rust project on the command-line?

  • cargo new
  • rustup init
  • cargo start
  • rust new-project

Q37. Calling.clone() _.

  • deeply copies heap data and clones ownership
  • clones the pointer to the heap
  • clones the heap data onto the stack
  • deeply copies heap and stack

Referenco

Q38. what is one of the roles of the let keyword?

let text = String::new("LinkedIn");
  • Create a text object.
  • Assign a mutable value.
  • request to borrow a string.
  • Assign an immutable value.

Referenco

Q39. How is a new enum initialized?

enum Option_i32 {
    Some(i32),
    None,
}
  • let integer = Option_i32::Iuj(5);
  • let integer = Option_i32.new(Iuj(5))
  • let integer = Option_i32::Nova::(Iuj(5))
  • let integer = Option_i32.init()

Referenco

Q40. What are the main difference between const and static?

  • They can be used interchangeably, but const only supports primitive types while static must be used for structs and user-defined types.
  • They can be used interchangeably, but const values are compiled at compile time.
  • Values defined with const live in the stack, while static values live on the heap.
  • Values defined with const can be copied to wherever they are needed, whereas static values remain in a fixed place in memory.

Referenco

Q41. Which Rust data type represents a signed integer that has the same width as a pointer of the compile target’s CPU?

  • i64
  • int64
  • isize
  • int

Referenco

Q42. When are supertraits needed?

  • when a trait is needed for multiple structs
  • when a trait depends on another trait
  • only when a generic trait is used
  • when a metatrait is needed to use another trait

Referenco

Q43. Which types are legal for x to be in this snippet?

if x {
    println!("ok");
}
  • every type that implements the std::cmp::Truth trait
  • only the primitive bool type
  • both bool and u8 (which is how bool is implemented under the hood)
  • bool and std::sync::atomic::AtomicBool

Referenco

Q44. How do you access the married data in this struct?

struct person = Person {
    height: u64,
    weight: u64,
    married: bool
}
  • person.getMarried()
  • persono[married]
  • person.value(married)
  • person.married

Referenco

Q45. To mark a function as visible to other crates, what do you need to do to its definition?

  • Add the public keyword.
  • Add the pub keywork.
  • Begin the function’s name with a capital letter.
  • Remove the private keyword.

Referenco

Q46. Which choice is a compound data type?

  • char
  • tuple
  • bool
  • i32

Referenco

Q47. How could you make this function compile?

fn main() {
    let x = 5;
    println!("The value of x is: {}", x);
    x = 6;
    println!("The value of x is: {}", x);
}
  • Use x only once in a println!() deklaro.
  • Place curly brackets around let x = 5.
  • Add const to let x = 6.
  • Add mut to let x = 5.

Referenco

Q48. Using .unwrap() will _.

  • let you choose the expected panic error message
  • call panic! if there is an error or absence of value
  • unwrap the value inside an unsafe wrapper
  • return the error inside Ok()

Referenco

Q49. When should the panic! macro be called instead of using std::rezulto::Result?

  • when there is a way to encode the information in types used
  • when your code is expected to end in a good state
  • when the situation is considered unrecoverable
  • when valid values are passed on the code

Referenco

Q50. Which statement about arrays is true?

  • [; size of array] can initialize arrays.
  • Indexing, such as array.0, accesses elements in arrays.
  • A data structure for collections can contain different types of values.
  • Arrays are useful when you want to allocate data on the heap and then on the stack.

Referenco

Q51. How would you select the value 2.0 from this tuple?

let pt = Point2D(-1.0, 2.0)
  • pt[1]
  • pt(1)
  • pt.iter().nth(1)
  • pt.1

Referenco

Q52. When writing tests, which macro should you use to assert equality between two values?

  • assert_eq!()
  • assert_equal!()
  • is_equals!()
  • assert!()

Referenco

Q53. Which code statement in Rust is used to define a BTreeMap object?

  • let btm=BTreeMap::nova()
  • let mut btm=BTreeMap::nova()
  • BTreeMap btm = BTreeMap.new()
  • BTreeMap btm = std::kolektoj::BTreeMap::nova()

Referenco

Q54 .Rust is known to be memory safe. Which feature is the main reason for the memory safety of Rust?

  • ownership
  • borrowing
  • lifetimes
  • referenco

Referenco

Q55 . To support Dynamic Sized variables, what should we use in place off32”?

  • Not supportedin Rust
  • use array
  • ?sized
  • list all data-types

Referenco

Q56 . Kio estas “Dropin Rust used for?

  • run code as multi-threaded
  • run code when variable is out of scope
  • run code and drop it if error comes
  • opcio 4

Referenco

Q57 . In Rust, how is a macro from the above Rust code snippet used?

  • foo(x)
  • #foo
  • foo!()
  • foo

Referenco

Q58 . Which library does Rust use for memory allocation?

  • tcmalloc
  • mimalloc
  • ptmalloc
  • jemalloc

Referenco

Q59 . Who designed Rust from scratch in 2006?

  • Graydon Hoare
  • Yukihiro Matsumoto
  • Guido Van Rossum
  • David flanagan

Referenco

Q60. Which types are ne allowed within an enum variant’s body?

  • zero-sized types
  • strukturoj
  • trait objects
  • floating-point numbers

Q61. Which example correctly uses std::kolektoj::HashMap’s Entry API to populate counts?

use std::collections::HashMap;
fn main() {
    let mut counts = HashMap::new();
    let text = "LinkedIn Learning";
    for c in text.chars() {
        // Complete this block
    }
    println!("{:?}", counts);
}
  • ­
for c in text.chars() {
    if let Some(count) = &mut counts.get(&c) {
        counts.insert(c, *count + 1);
    } else {
        counts.insert(c, 1);
    };
}
  • ­
for c in text.chars() {
    let count = counts.entry(c).or_insert(0);
    *count += 1;
}
  • ­
for c in text.chars() {
    let count = counts.entry(c);
    *count += 1;
}
  • ­
for c in text.chars() {
    counts.entry(c).or_insert(0).map(|x| x + 1);
}

Q62. To convert a Result to an Option, which method should you use?

  • .as_option()
  • .ok()
  • .to_option()
  • .into()

Q63. Which statement about this code is true?

fn main() {
    let c = 'z';
    let heart_eyed_cat = '😻';
}
  • Both are character literals.
  • heart_eyed_cat is an invalid expression.
  • c is a string literal and heart_eyed_cat is a character literal.
  • Both are string literals.

Q64. What is an alternative way of writing slice that produces the same result?

...
let s = String::form("hello");
let slice = &s[0..2];
  • let slice = &s[len + 2];
  • let slice = &s[len – 2];
  • let slice = &s.copy(0..2);
  • let slice = &s[..2];

Q65. How would you select the value 2.0 from this tuple?

let pt = Point2D(-1.0, 2.0)
  • pt[1]
  • pt(1)
  • pt.iter().nth(1)
  • pt.1

Q66. What is the purpose of the move keyword in Rust?

  • To indicate that a value should be moved instead of copied.
  • To indicate that a value should be copied instead of moved.
  • To indicate that a value should be borrowed instead of owned.
  • To indicate that a value should be owned instead of borrowed.

referenco

Aŭtoro

  • Helen Bassey

    Saluton, I'm Helena, blogverkisto kiu estas pasia pri afiŝado de komprenemaj enhavoj en la eduka niĉo. Mi kredas, ke edukado estas la ŝlosilo por persona kaj socia evoluo, kaj mi volas dividi miajn sciojn kaj spertojn kun lernantoj de ĉiuj aĝoj kaj originoj. En mia blogo, vi trovos artikolojn pri temoj kiel lernstrategioj, interreta edukado, kariera gvidado, kaj pli. Mi ankaŭ bonvenigas komentojn kaj sugestojn de miaj legantoj, do bonvolu lasi komenton aŭ kontakti min iam ajn. Mi esperas, ke vi ĝuos legi mian blogon kaj trovos ĝin utila kaj inspira.

    Rigardu ĉiujn afiŝojn

Pri Helen Bassey

Saluton, I'm Helena, blogverkisto kiu estas pasia pri afiŝado de komprenemaj enhavoj en la eduka niĉo. Mi kredas, ke edukado estas la ŝlosilo por persona kaj socia evoluo, kaj mi volas dividi miajn sciojn kaj spertojn kun lernantoj de ĉiuj aĝoj kaj originoj. En mia blogo, vi trovos artikolojn pri temoj kiel lernstrategioj, interreta edukado, kariera gvidado, kaj pli. Mi ankaŭ bonvenigas komentojn kaj sugestojn de miaj legantoj, do bonvolu lasi komenton aŭ kontakti min iam ajn. Mi esperas, ke vi ĝuos legi mian blogon kaj trovos ĝin utila kaj inspira.

Lasu respondon