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, Ten tom obejmuje wymagane podstawowe elementy konstrukcyjne tego zestawu umiejętności, and concurrency. W tym obszernym przewodniku, we’re thrilled to present a series of skill assessment questions oraz odpowiedzi specifically tailored for Rust użytkownicy.
Whether you’re a seasoned developer looking to expand your capabilities or a beginner aiming to understand the basics of this powerful language, this resource is designed to help you become proficient in Rust and its applications. Join us as we explore the core concepts of Rust programming, including ownership, borrowing, lifetimes, i więcej, 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
What do the vertical bars represent here?
Q2.str::thread::spawn(|| {
println!("LinkedIn");
});
- a closure
- a thread
- a future
- a block
Which choice is not a scalar data type?
Q3.- integer
- Egzamin certyfikacyjny Microsoft Python
- boolean
- tuple
cannot be destructured.
Q4. _- Traits
- Tuples
- Enums
- Structs
Which cargo
command checks a program for error without creating a binary executable?
Q5. - cargo –wersja
- cargo init
- cargo build
- cargo check
and related phrases such as boxing a value are often used when relating to memory layout. Co robi skrzynka refer to?
Q6. Termin skrzynka- 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. “Boxed” values are clearly labelled.
What is an alternative way of writing slice
that produces the same result?
Q7. ...
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];
?
operator at the end of an expression is equivalent to _.
Q8. Używając - a match pattern that branches into True or False
- calling ok_error()
- calling panic!()
- a match pattern that may result an early return
Which is valid syntax for defining an array of i32 values?
Pytanie 9.- Statyczna zmienna składowa::with_capacity(10)
- [i32]
- Statyczna zmienna składowa::Nowy(10)
- [i32; 10]
What syntax is required to take a mutable reference to T, when used within a function argument?
Pytanie 10.fn increment(i: T) {
// body elided
}
- *mut T
- mut ref T
- mut &T
- &mut T
The smart pointers Rc and Arc provide reference counting. What is the API for incrementing a reference count?
Pytanie 11.- .Zdefiniuj orkiestrację()
- .incr()
- .clone()
- .increment()
What happens when an error occurs that is being handled by the question mark (?) operator?
Pytanie 12.- 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.
Which comment syntax is not legal?
Pytanie 13.-
/*
-
#
-
//!
-
//
In matching patterns, values are ignored with _.
Pytanie 14.-
.ignore()
-
an underscore (_)
- ..
- systemy komunikacyjne mogą komunikować się na większości powierzchni Ziemi
Defining a _ requires a lifetime parameter.
Pytanie 15.- 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
Which example correctly uses std::kolekcje::HashMap’s Entry API to populate counts?
Pytanie 16.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);
}
Which fragment does not incur memory allocations while writing to a “Nie musisz ponownie uruchamiać komputera” (represented by a Vec)?
Pytanie 17.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);
Does the main
function compile? W takim razie, zrozumiesz, dlaczego ważne jest poznawanie i ćwiczenie technik relaksacyjnych? Jeśli nie, what do you need to change?
Pytanie 18. fn main() {
let Some(x) = some_option_value;
}
- The code does not compile.
let
statements require a refutable pattern. Dodaćif
przedlet
. - The code compiles.
let
statements sometimes require a refutable pattern. - The code does not compile.
let
statements requires an irrefutable pattern. Dodaćif
przedlet
. - The code compiles.
let
do not require a refutable pattern.
Which statement about lifetimes is false?
Pytanie 19.- 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.
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++?
Q20. -
!
-
None
-
Null
-
()
To convert a Result
to an Option
, which method should you use?
Pytanie 21. -
.as_option()
-
.ok()
-
.to_option()
-
.into()
Which statement about the Clone
oraz Copy
traits is false?
Pytanie 22. -
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
Copy
lubClone
, its internal data cannot be copied.
Why does this code nie compile?
Pytanie 23.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.
What smart pointer is used to allow multiple ownership of a value in various threads?
Pytanie 24.-
Arc<T>
-
Box<T>
- Both
Arc<T>
orazRc<T>
are multithread safe. -
Rc<T>
Which types are nie allowed within an enum variant’s body?
Pytanie 25.- zero-sized types
- struktury
- trait objects
- floating-point numbers
Which statement about this code is true?
Pytanie 26.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 andheart_eyed_cat
is a character literal. - Both are string literals.
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?
Pytanie 27.-
Mutex<Arc<T>>
-
Rc<Mutex<T>>
-
Arc<Mutex<T>>
-
Mutex<Rc<T>>
Which idiom can be used to concatenate the strings a
, b
, c
?
Pytanie 28. 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
In this function. what level of access is provided to the variable a
?
Pytanie 29. use std::fmt::Debug;
fn report<T:Debug>(a: &T) {
eprintln!("info: {:?}", a);
}
- read-only
- read/write
- odpluskwić
Which choice is nie valid loop syntax?
Q30.-
loop
-
for
-
while
-
do
How do you construct a value of Status
that is initialized to Waiting
?
Pytanie 31. 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);
Which statement about enums is false?
Pytanie 32.- Enums are useful in matching patterns.
- Option is an enum type.
- Enum variants can have different types with associated data.
- termin enum is short for enummap
What does an underscore (_) indicate when used as pattern?
Pytanie 33.- It matches everything.
- It matches underscores.
- It matches any value that has a length of 1.
- It matches nothing.
What is a safe operation on a std::cell:UnsafeCell<T>
?
Pytanie 34. - 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. W związku z tym, tworzenie&T
references from multiple threads is safe. - The only safe operation is the
.get()
metoda, which returns only a raw pointer. - Non.
UnsafeCell<T>
only allows code that would otherwise need unsafe blocks to be written in safe code.
Generics are useful when you _.
Pytanie 35.- 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
How do you create a Rust project on the command-line?
Pytanie 36.- cargo new
- rustup init
- cargo start
- rust new-project
Calling.clone() _.
Pytanie 37.- 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
what is one of the roles of the let keyword?
Pytanie 38.let text = String::new("LinkedIn");
- Create a text object.
- Assign a mutable value.
- request to borrow a string.
- Assign an immutable value.
How is a new enum initialized?
Pytanie 39.enum Option_i32 {
Some(i32),
None,
}
- let integer = Option_i32::Trochę(5);
- let integer = Option_i32.new(Trochę(5))
- let integer = Option_i32::Nowy::(Trochę(5))
- let integer = Option_i32.init()
What are the main difference between const and static?
Q40.- 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.
Which Rust data type represents a signed integer that has the same width as a pointer of the compile target’s CPU?
Pytanie 41.- i64
- int64
- isize
- Egzamin certyfikacyjny Microsoft Python
When are supertraits needed?
Pytanie 42.- 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
Which types are legal for x to be in this snippet?
Pytanie 43.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
How do you access the married data in this struct?
Pytanie 44.struct person = Person {
height: u64,
weight: u64,
married: bool
}
- person.getMarried()
- osoba[married]
- person.value(married)
- person.married
To mark a function as visible to other crates, what do you need to do to its definition?
Pytanie 45.- Add the public keyword.
- Add the pub keywork.
- Begin the function’s name with a capital letter.
- Remove the private keyword.
Which choice is a compound data type?
Pytanie 46.- char
- tuple
- bool
- i32
How could you make this function compile?
Pytanie 47.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!() oświadczenie.
- Place curly brackets around let x = 5.
- Add const to let x = 6.
- Add mut to let x = 5.
Using .unwrap() will _.
Pytanie 48.- 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()
When should the panic! macro be called instead of using std::result::Result?
Pytanie 49.- 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
Which statement about arrays is true?
Q50.- [; 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.
How would you select the value 2.0 from this tuple?
Pytanie51.let pt = Point2D(-1.0, 2.0)
- pt[1]
- pt(1)
- pt.iter().nth(1)
- pt.1
When writing tests, which macro should you use to assert equality between two values?
Pytanie52.- assert_eq!()
- assert_equal!()
- is_equals!()
- assert!()
Which code statement in Rust is used to define a BTreeMap object?
Pytanie53.- let btm=BTreeMap::Nowy()
- let mut btm=BTreeMap::Nowy()
- BTreeMap btm = BTreeMap.new()
- BTreeMap btm = std::kolekcje::BTreeMap::Nowy()
Q54 .Rust is known to be memory safe. Which feature is the main reason for the memory safety of Rust?
- ownership
- borrowing
- lifetimes
- odniesienie
To support Dynamic Sized variables, what should we use in place of “f32”?
Pytanie55 .- Not supportedin Rust
- use array
- ?sized
- list all data-types
Drop” in Rust used for?
Pytanie56 . Co jest “- run code as multi-threaded
- run code when variable is out of scope
- run code and drop it if error comes
- opcja 4
In Rust, how is a macro from the above Rust code snippet used?
Pytanie57 .- foo(x)
- #foo
- foo!()
- foo
Which library does Rust use for memory allocation?
Pytanie58 .- tcmalloc
- mimalloc
- ptmalloc
- jemalloc
Who designed Rust from scratch in 2006?
Pytanie59 .- Graydon Hoare
- Yukihiro Matsumoto
- Guido Van Rossum
- David flanagan
Which types are nie allowed within an enum variant’s body?
Q60.- zero-sized types
- struktury
- trait objects
- floating-point numbers
Which example correctly uses std::kolekcje::HashMap’s Entry API to populate counts?
Q61.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);
}
To convert a Result
to an Option
, which method should you use?
Q62. -
.as_option()
-
.ok()
-
.to_option()
-
.into()
Which statement about this code is true?
Q63.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 andheart_eyed_cat
is a character literal. - Both are string literals.
What is an alternative way of writing slice
that produces the same result?
Q64. ...
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];
How would you select the value 2.0 from this tuple?
Q65.let pt = Point2D(-1.0, 2.0)
- pt[1]
- pt(1)
- pt.iter().nth(1)
- pt.1
What is the purpose of the move keyword in Rust?
Q66.- 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.
Zostaw odpowiedź
Musisz Zaloguj sie lub Zarejestruj się dodać nowy komentarz .