现在注册

登录

忘记密码

忘记密码? 请输入您的电子邮件地址. 您将收到一个链接,将创建通过电子邮件新密码.

添加后

你必须登录后添加 .

添加问题

您必须登录才能提问.

登录

现在注册

欢迎Scholarsark.com! 您的注册将授予您访问使用该平台的更多功能. 你可以问问题, 做出贡献或提供答案, 查看其他用户以及更多的个人资料. 现在注册!

LinkedIn skill assessment answers and questions — Kotlin

Step into the world of 科特林 with our comprehensive 领英技能评估 指导. This indispensable resource is designed to empower you with the knowledge and confidence to excel in the LinkedIn Kotlin skill assessment. Our guide features a collection of meticulously curated 问题答案 that encapsulate the versatility and power of 科特林.

Whether you’re a beginner venturing into the realm of 科特林 or an experienced developer seeking to refine your skills, this guide is your ultimate companion. Immerse yourself in this enriching journey and let’s ace the LinkedIn Kotlin skill assessment 一起!.

第一季度. You would like to print each score on its own line with its cardinal position. Without using var 要么 val, which method allows iteration with both the value and its position?

fun main() {
  val highScores = listOf(4000, 2000, 10200, 12000, 9030)
}
  • .withIndex()
  • .forEachIndexed()
  • .forEach()
  • .forIndexes()

参考

Q2. 当时制造的活塞 Airplane class is instantiated, it displays Aircraft = null, 不 Aircraft = C130 为什么?

abstract class Aircraft {
  init { println("Aircraft = ${getName()}") }
  abstract fun getName(): String
}
class Airplane(private val name: String) : Aircraft() {
  override fun getName(): String = name
}
  • Classes are initialized in the same order they are in the file, 因此, Aircraft should appear after Airplane
  • The code needs to pass the parameter to the base class’s primary constructor. Since it does not, it receives a null
  • Abstract function always returns null
  • A superclass is initialized before its subclass. 因此, name has not been set before it is rendered

参考 discussion

Q3. Kotlin interfaces and abstract classes are very similar. What is one thing abstract class can do that interfaces cannot?

  • Only abstract classes are inheritable by subclasses
  • Only abstract classes can inherit from multiple superclasses
  • Only abstract classes can have abstract methods
  • Only abstract classes can store state

参考

第四季度. Inside an extension function, what is the name of the variable that corresponds to the receiver object

  • The variable is named
  • The variable is named 这个
  • The variable is named receiver
  • The variable is named default

参考

Q5. Your application has an 添加 功能. How could you use its invoke methods and display the results?

fun add(a: Int, b: Int): Int {
  return a + b
}
  • println(add(5,10).invoke())
  • println(::add.invoke(5, 10))
  • println(::add.invoke{5, 10})
  • println(add.invoke(5,10))

参考

Q6. What is the entry point for a Kotlin application?

  • fun static main(){}
  • fun main(){}
  • fun Main(){}
  • public static void main(){}

Q7. You are writing a console app in Kotlin that processes tests entered by the user. If the user enters an empty string, the program exits. Which kind of loop would work best for this app? Keep in mind that the loop is entered at least once

  • a do..while loop
  • a for loop
  • a while loop
  • a forEach loop

参考

Q8. You pass an integer to a function expecting type Any. It works without issue. Why is a primitive integer able to work with a function that expects an object?

fun showHashCode(obj: Any){
  println("${obj.hashCode()}")
}
fun main() {
  showHashCode(1)
}
  • While the code runs, it does not produce correct results
  • The integer is always a class
  • The compiler runs an implicit .toClass() method on the integer
  • The integer is autoboxed to a Kotlin Int class

参考

Q9. You have started a long-running coroutine whose job you have assigned to a variable named 任务. If the need arose, how could you abort the coroutine?

val task = launch {
  // long running job
}
  • task.join()
  • task.abort()
  • job.stop()
  • task.cancel()

参考

辅酶Q10. You are attempting to assign an integer variable to a long variable, but the Kotlin compiler flags it as an error. 为什么?

  • You must wrap all implicit conversions in a try/catch block
  • You can only assign Long to an Int, 不是相反
  • There is no implicit conversion from IntLong
  • All integers in Kotlin are of type Long

参考

Q11. You have written a snippet of code to display the results of the roll of a six-sided die. When the die displays from 3 至 6 包括的, you want to display a special message. Using a Kotlin range, what code should you add?

when (die) {
  1 -> println("die is 1")
  2 -> println("die is 2")
  ___ -> println("die is between 3 and 6")
  else -> println("die is unknown")
}
  • 3,4,5,6
  • in 3..6
  • 3 : 6
  • {3,4,5,6}

参考

Q12. The function typeChecker receives a parameter obj of type 任何. Based upon the type of obj, it prints different messages for Int, String, Double, and Float types; if not any of the mentioned types, it printsunknown type”. What operator allows you to determine the type of an object?

  • instanceof
  • is
  • typeof
  • as

参考

Q13. This code does not print any output to the console. 怎么了?

firstName?.let {
  println("Greeting $firstname!")
}
  • A null pointer exception is thrown
  • firstName is equal to null
  • firstName is equal to an empty string
  • firstName is equal to Boolean false

参考

Q14. You have a function simple() that is called frequently in your code. You place the inline prefix on the function. What effect does it have on the code?

inline fun simple(x: Int): Int{
  return x * x
}

fun main() {
  for(count in 1..1000) {
    simple(count)
  }
}
  • The code will give a stack overflow error
  • The compiler warns of insignificant performance impact
  • The compiler warns of significant memory usage
  • The code is significantly faster

参考

Q15. How do you fill in the blank below to display all of the even numbers from 1 至 10 with least amount of code?

for (_____) {
  println("There are $count butterflies.")
}
  • count in 1..10
  • count in 2..10 step 2
  • count in 1..10 % 2
  • var count=2; count <= 10; count+=2

参考

Q16. What value is printed by println()?

val set = setOf("apple", "pear", "orange", "apple")
println(set.count())
  • 3
  • 4
  • 1
  • 5

参考

Q17. Which line of code shows how to display a nullable string’s length and shows 0 instead of null?

  • println(b!!.length ?: 0)
  • println(b?.length ?: 0)
  • println(b?.length ?? 0)
  • println(b == null? 0: b.length)

Q18. In the file main.kt, you are filtering a list of integers and want to use an already existing function, removeBadValues. What is the proper way to invoke the function from filter in the line below?

val list2 = (80..100).toList().filter(_____)
  • ::removeBadValues
  • GlobalScope.removeBadValues()
  • Mainkt.removeBadValues
  • removeBadValues

参考

Q19. Which code snippet correctly shows a for loop using a range to display “1 2 3 4 5 6”?

  • for(z in 1..7) println("$z ")
  • for(z in 1..6) print("$z ")
  • for(z in 1 to 6) print("$z ")
  • for(z in 1..7) print("$z ")

参考

Q20. You are upgrading a Java class to Kotlin. What should you use to replace the Java class’s static fields?

  • an anonymous object
  • a static property
  • a companion object
  • a backing field

参考

Q21. Your code need to try casting an object. If the cast is not possible, you do not want an exception generated, instead you want null to be assigned. Which operator can safely cast a value?

  • as?
  • ??
  • is
  • as

参考

Q22. Kotlin will not compile this code snippet. 怎么了?

class Employee
class Manager : Employee()
  • In order to inherit from a class, it must be marked 打开
  • In order to inherit from a class, it must be marked 上市
  • In order to inherit from a class, it must be marked sealed
  • In order to inherit from a class, it must be marked override

参考

Q23. Which function changes the value of the element at the current iterator location?

  • change()
  • modify()
  • set()
  • assign()

参考

Q24. From the Supervisor subclass, how do you call the Employee class’s display() 方法?

open class Employee(){
  open fun display() = println("Employee display()")
}
class Supervisor : Employee() {
  override fun display() {
    println("Supervisor display()")
  }
}
  • Employee.display()
  • ::display()
  • super.display()
  • override.display()

参考

Q25. The code below was compiled and executed without issue before the addition of the line declaring errorStatus. Why does this line break the code?

sealed class Status(){
  object Error : Status()
  class Success : Status()
}
fun main(){
  var successStatus = Status.Success()
  var errorStatus = Status.Error()
}
  • StatusError is an object, not a class and cannot be instantiated
  • Only one instance of the class Status can be instantiated at a time
  • Status.Error must be declared as an immutable type
  • Status.Error is pribate to class and cannot be declared externally

参考

Q26. The code below is expected to display the numbers from 1 至 10, but it does not. 为什么?

val seq = sequence { yieldAll(1..20) }
  .filter { it < 11 }
  println(seq)
  • You cannot assign a sequence to a variable
  • To produce result, a sequence must have terminal operation. 在这种情况下, it needs a .toList()
  • .filter{ it < 11 } 应该 .filter{ it > 11 }
  • yieldAll(1..20) 应该 yieldAll(1..10)

参考

Q27. What three methods does this class have?

class Person
  • equals(), hashCode(), and toString()
  • equals(), toHash(), and super()
  • print(), println(), and toString()
  • clone(), equals(), and super()

参考

Q28. Which is the proper way to declare a singleton named DatabaseManager?

  • object DatabaseManager {}
  • singleton DatabaseManager {}
  • static class DatabaseManager {}
  • data class DatabaseManager {}

参考

Q29. In order to subclass the Person class, what is one thing you must do?

abstract class Person(val name: String) {
  abstract fun displayJob(description: String)
}
  • The subclass must be marked sealed
  • You must override the displayJob() 方法
  • You must mark the subclass as final
  • An abstract class cannot be extended, so you must change it to open

参考

Q30. The code snippet below translates a database user to a model user. Because their names are both User, you must use their fully qualified names, which is cumbersome. You do not have access to either of the imported classessource code. How can you shorten the type names?

import com.tekadept.app.model.User
import com.tekadept.app.database.User

class UserService{
  fun translateUser(user: com.tekadept.app.database.User): User =
    com.tekadept.app.model.User("${user.first} ${user.last}")
}
  • Use import as to change the type name
  • Create subtypes with shorter names
  • Create interfaces with shorter names
  • Create extension classes with shorter names

参考

Q31. Your function is passed by a parameter obj of type Any. Which code snippet shows a way to retrieve the original type of obj, including package information?

  • obj.classInfo()
  • obj.typeInfo()
  • obj::class.simpleName
  • obj::class

参考

Q32. Which is the correct declaration of an integer array with a size of 5?

  • val arrs[5]: Int
  • val arrs = IntArray(5)
  • val arrs: Int[5]
  • val arrs = Array<Int>(5)

参考

Q33. You have created a class that should be visible only to the other code in its module. Which modifier do you use?

  • internal
  • private
  • public
  • protected

参考

Q34. Kotlin has two equality operators, == and ===. 有什么不同?

  • == determines if two primitive types are identical. === determines if two objects are identical
  • == determines if two references point to the same object. === determines if two objects have the same value
  • == determines if two objects have the same value. === determines if two strings have the same value
  • == determines if two objects have the same value. === determines if two references point to the same object

参考

Q35. Which snippet correctly shows setting the variable max to whichever variable holds the greatest value, a or b, using idiomatic Kotlin?

  • val max3 = a.max(b)
  • val max = a > b ? a : b
  • val max = if (a > b) a else b
  • if (a > b) max = a else max = b

参考

Q36. You have an enum class Signal that represents the state of a network connection. You want to print the position number of the SENDING enum. Which line of code does that?

enum class Signal { OPEN, CLOSED, SENDING }
  • println(Signal.SENDING.position())
  • println(Signal.SENDING.hashCode())
  • println(Signal.SENDING)
  • println(Signal.SENDING.ordinal)

参考

Q37. Both const and @JvmField create constants. What can const do that @JvmField cannot?

class Detail {
  companion object {
    const val COLOR = "Blue"
    @JvmField val SIZE = "Really Big"
  }
}
  • const is compatible with Java, 但 @JvmField 不是
  • The compiler will inline const so it is faster and more memory efficient
  • Virtually any type can be used with const but not @JvmField
  • const can also be used with mutable types

参考

Q38. You have a when expression for all of the subclasses of the class Attribute. To satisfy the when, you must include an else clause. 不幸, whenever a new subclass is added, it returns unknown. You would prefer to remove the else clause so the compiler generates an error for unknown subtypes. What is one simple thing you can do to achieve this?

open class Attribute
class Href: Attribute()
class Src: Attribute()
class Alt: Attribute()

fun getAttribute(attribute: Attribute) : String {
  return when (attribute) {
    is Href -> "href"
    is Alt -> "alt"
    is Src -> "src"
    else -> "unknown"
  }
}
  • Replace openclosed
  • Replace opensealed
  • Replace openprivate
  • Replace openpublic

参考

Q39. You would like to know each time a class property is updated. Which code snippet shows a built-in delegated property that can accomplish this?

  • Delegates.watcher()
  • Delegates.observable()
  • Delegates.rx()
  • Delegates.observer()

参考

Q40. Why doesn’t this code compile?

val addend = 1
infix fun Int.add(added: Int=1) = this + addend
fun main(){
  val msg = "Hello"
  println( msg shouldMatch "Hello")
  println( 10 multiply 5 + 2)
  println( 10 add 5)
}
  • infix function must be marked public
  • In Kotlin, add is a keyword
  • Extension functions use it, 不 this, as the default parameter name
  • infix functions cannot have default values

参考

Q41. What is the correct way to initialize a nullable variable?

  • val name = null
  • var name: String
  • val name: String
  • val name: String? = null

Q42. Which line of code is a shorter, more idiomatic version of the displayed snippet?

val len: Int = if (x != null) x.length else -1
  • val len = x?.let{x.len} else {-1}
  • val len = x!!.length ?: -1
  • val len:Int = (x != null)? x.length : -1
  • val len = x?.length ?: -1

Q43. You are creating a Kotlin unit test library. What else you should add to make the following code compile without error?

fun String.shouldEqual(value: String) = this == value
fun main(){
  val msg = "test message"
  println(msg shouldEqual "test message")
}
  • The extension function should be marked public
  • Add the prefix operatorshouldMatch extension function
  • The code is not legal in Kotlin (应该 println(msg.shouldEqual("test message")))
  • Add the prefix infixshouldMatch extension function

Q44. What is the difference between the declarations of COLOR and SIZE?

class Record{
  companion object {
    const val COLOR = "Red"
    val SIZE = "Large"
  }
}
  • 以来 COLORSIZE are both immutable, they are identical internally
  • Both are immutable, but the use of the keyword const makes COLOR slower and less space efficient than SIZE
  • const makes COLOR 快点, but not compatible with Java. Without const, SIZE is still compatible with Java
  • Both are immutable, but the use of the keyword const makes COLOR faster and more space efficient than SIZE

参考

Q45. Why does not this code snippet compile?

class Cat (name: String) {
  fun greet() { println("Hello ${this.name}") }
}

fun main() {
  val thunderCat = Cat("ThunderCat")
  thunderCat.greet()
}
  • Because name is a class parameter, not a property-it is unresolved main().
  • In order to create an instance of a class, you need the keyword new
  • The reference to name needs to be scoped to the class, so it should be this.name
  • Classes cannot be immutable. You need to change varval

注意: 默认, constructor parameters can only be used in the initializer blocks or property initializers declared in the class body. 因此, to let the greet function have access to the name parameter, it should be declared as a property: class Cat (val name: String) { ... }

参考

Q46. The code below shows a typical way to show both index and value in many languages, including Kotlin. Which line of code shows a way to get both index and value more idiomatically?

var ndx = 0;
for (value in 1..5){
  println("$ndx - $value")
  ndx++
}
  • for( (ndx, value) in (1..20).withIndex() ){
  • for( (ndx, value) in (1..20).pair() ){
  • for( Pair(ndx, value) in 1..20 ){
  • for( (ndx, value) in *(1..20) ){

参考

Q47. The Kotlin .. operator can be written as which function?

  • a.from(b)
  • a.range(b)
  • a.rangeTo(b)
  • a.to(b)

参考

Q48. How can you retrieve the value of the property codeName without referring to it by name or destructuring?

data class Project(var codeName: String, var version: String)
fun main(){
  val proj = Project("Chilli Pepper", "2.1.0")
}
  • proj.0
  • proj[0]
  • proj[1]
  • proj.component1()

参考

Q49. This function generates the Fibonacci sequence. Which function is missing?

fun fibonacci() = sequence {
  var params = Pair(0, 1)
  while (true) {
    ___(params.first)
    params = Pair(params.second, params.first + params.second)
  }
}
  • with()
  • yield()
  • skip()
  • return()

参考

辅酶50. In this code snippet, why does the compiler not allow the value of y to change?

for(y in 1..100) y+=2
  • y must be declared with var to be mutable
  • y is an implicitly immutable value
  • y can change only in a while loop
  • In order to change y, it must be declared outside of the loop

Q51. You have created a data class, Point, that holds two properties, x and y, representing a point on a grid. You want to use the hash symbol for subtraction on the Point class, but the code as shown will not compile. How can you fix it?

data class Point(val x: Int, val y: Int)

operator fun Point.plus(other: Point) = Point(x + other.x, y + other.y)
operator fun Point.hash(other: Point) = Point(x - other.x, y - other.y)

fun main() {
    val point1 = Point(10, 20)
    val point2 = Point(20, 30)
    println(point1 + point2)
    println(point1 # point2)
}
  • You cannot; the hash symbol is not a valid operator.
  • You should replace the word hash with octothorpe, the actual name for the symbol.
  • You should use minus instead of hash, then type alias the minus symbol.
  • You need to replace the operator with the word infix.

Q52. This code snippet compiles without error, but never prints the results when executed. What could be wrong?

val result = generateSequence(1) { it + 1 }.toList()
println(result)
  • The sequence lacks a terminal operation.
  • The sequence is infinite and lacks an intermediate operation to make it 有限.
  • The expression should begin with generateSequence(0).
  • it parameter should be replaced with this.

参考

Q53. An error is generated when you try to compile the following code. How should you change the call to printStudents to fix the error?

fun main() {
    val students = arrayOf("Abel", "Bill", "Cindy", "Darla")
    printStudents(students)
}

fun printStudents(vararg students: String) {
    for(student in students) println(student)
}
  • printStudents(students.toList())
  • printStudents(students!!)
  • printStudents(*students)
  • printStudents(students[])

参考

Q54. Both y and z are immutable references pointing to fixed-size collections of the same four integers. Are there any differences?

val y = arrayOf(10, 20, 30, 40)
val z = listOf(10, 20, 30, 40)
  • You can modify the contents of the elements in y but not z.
  • There are not any differences. yz are a type alias of the same type.
  • You add more elements to z since it is a list.
  • You can modify the contents of the elements in z but not y.

Q55. The code snippet compiles and runs without issue, but does not wait for the coroutine to show the “那里” 信息. Which line of code will cause the code to wait for the coroutine to finish before exiting?

fun main() = runBlocking {
    val task = GlobalScope.launch {
        delay(1000L)
        println("there")
    }
    println("Hello,")
}
  • task.complete()
  • task.wait()
  • task.join()
  • task.cancel()

参考

Q56. You would like to group a list of students by last name and get the total number of groups. Which line of code accomplishes this, assuming you have a list of the Student data class?

data class Student(val firstName: String, val lastName: String)
  • println(students.groupBy{ it.lastName }.count())
  • println(students.groupBy{ it.lastName.first() }.fold().count())
  • println(students.groupingBy{ it.lastName.first() }.count())
  • println(students.groupingBy{ it.lastName.first() }.size())

参考

Q57. Class BB inherits from class AA. BB uses a different method to calculate the price. As shown, the code does not compile. What changes are needed to resolve the compilation error?

open class AA() {
     var price: Int = 0
        get() = field + 10
}
class BB() : AA() {
     var price: Int = 0
        get() = field + 20
}
  • You need to add a lateinit modifier to AA.price.
  • You simply need to add an override modifier to BB.price.
  • You need to add an open modifier to AA.price and an override modifier to BB.price.
  • You need to add a public modifier to AA.priceprotected modifier to BB.price.

参考

Q58. What is the output of this code?

val quote = "The eagle has landed."
println("The length of the quote is $quote.length")
  • The length of the quote is The eagle has landed.
  • A compilation error is displayed.
  • The length of the quote is 21
  • The length of the quote is The eagle has landed..length

参考

Q59. You have an unordered list of high scores. Which is the simple method to sort the highScores in descending order?

fun main() {
    val highScores = listOf(4000, 2000, 10200, 12000, 9030)
  • .sortedByDescending()
  • .descending()
  • .sortedDescending()
  • .sort("DESC")

参考

Q60. Your class has a property name that gets assigned later. You do not want it to be a nullable type. Using a delegate, how should you declare it?

  • lateinit var name: String // lateinit is modifier not delegate
  • var name: String by lazy
  • var name: String by Delegates.notNull()
  • var name: String? = null

参考

Q61. You want to know each time a class property is updated. If the new value is not within range, you want to stop the update. Which code snippet shows a built-in delegated property that can accomplish this?

  • Delegates.vetoable()
  • Delegates.cancellable()
  • Delegates.observer()
  • Delegates.watcher()

参考

Q62. Which line of code shows how to call a Fibonacci function, bypass the first three elements, grab the next six, and sort the elements in descending order?

  • val sorted = fibonacci().skip(3).take(6).sortedDescending().toList()
  • val sorted = fibonacci().skip(3).take(6).sortedByDescending().toList()
  • val sorted = fibonacci().skip(3).limit(6).sortedByDescending().toList()
  • val sorted = fibonacci().drop(3).take(6).sortedDescending().toList()

参考

Q63. You have two arrays, a and b. Which line combines a and b as a list containing the contents of both?

val a = arrayOf(1, 2, 3)
val b = arrayOf(100, 200, 3000)
  • val c = list of (a, b)
  • val c = a + b
  • val c = listOf(a+b)
  • val c = listOf(*a, *b)
  • 参考

Q64. This code occasionally throws a null pointer exception (NPE). How can you change the code so it never throws as NPE?

println("length of First Name = ${firstName!!.length}")
  • Replace !!.?.
  • Replace !!.?:.
  • Surround the line with a try/catch block.
  • Replace !!.?.let.

参考

Q65. What is the execution order of init blocks and properties during initialization?

  • All of the properties are executed in order of appearance, and then the init blocks are executed.
  • The init blocks and properties are executed in the same order they appear in the code.
  • All of the init blocks are executed in order of appearance, and then the properties are executed.
  • The order of execution is not guaranteed, so code should be written accordingly.

参考

Q66. Both const and @JvmField create constants. What can @JvmField do that const cannot?

class Styles {
  companion object {
    const val COLOR = "Blue"
      @JvmField val SIZE = "Really big"
   }
}
  • const works only with strings and primitives. @JvmField does not have that restriction.
  • @JvmField works as a top-level variable, 但 const works only in a class.
  • @JvmField is compatible with Java, 但 const 不是.
  • @JvmField is always inlined for faster code.

参考

Q67. What are the two ways to make a coroutine’s computation code cancellable?

  • Call the yield() function or check the isActive 财产.
  • Call the cancelled() function or check the isActive 财产.
  • Call the stillActive() function or check the isCancelled 财产.
  • Call the checkCancelled() function or check the isCancelled 财产.

参考

Q68. Given the code below, how can you write the line this.moveTo(“这”) more concisely?

data class Student (val name: String, var location: String) {
  fun moveTo (newLoc: String) { location = newLoc }

}

fun main() {

  Student ("Snow", "Cologne").run {

  this.moveTo ("LA")

}
  • moveTo("LA")
  • ::moveTo("LA")
  • _.moveTo("LA")
  • it.moveTo("LA")

参考

Q69. For the Product class you are designing, you would like the price to be readable by anyone, but changeable only from within the class. Which property declaration implements your design?

  • Option 1
var price: Int = 0
  public get()
  private set
  • Option 2
var price: Int = 0
  private set
  • Option 3
var price: Int = 0
  val set
  • Option 4
val price: Int=0

参考

Q70. What will happen when you try to build and run this code snippet?

class SpecialFunction : () -> Unit {
  override fun invoke() {
    println("Invoked from an instance.")
  }
}
fun main() {
  try { SpecialFunction()() }
  catch (ex: Exception) { println("An error occurred") }
}
  • A syntax error occurs due to the line SpecialFunction()().
  • The messageAn Error occurredis displayed.
  • The messageInvoked from an instance.is displayed. // the second “()” is equals to .invoke()
  • A compile error occurs. You cannot override the invoke() 方法.

参考

Q71. Which statement declares a variable mileage whose value never changes and is inferred to be an integer?

  • val mileage:Int = 566
  • var mileage:Int = 566
  • val mileage = 566 (注意: inferred)
  • const int mileage = 566

参考

Q72. What is the preferred way to create an immutable variable of type long?

  • var longInt = 10L
  • const long longInt = 10
  • val longInt = 10L
  • val longInt:Long = 10

Q73. Which line converts the binaryStr, which contains only 0s and 1s, to an integer representing its decimal value?

val binaryStr = "00001111"
  • val myInt = toInt(binaryStr)
  • val myInt = binaryStr.toInt("0b")
  • val myInt = binaryStr.toInt()
  • val myInt = binaryStr.toInt(2)

Q74. In a Kotlin program, which lines can be marked with a label

  • Any program line can be marked with a label
  • Any statement can be marked with a label
  • Any expression can be marked with a label
  • Only the beginning of loops can be marked with a label
  1. article
  2. 参考

Q75. All classes in Kotlin inherit from which superclass?

  • Default
  • Super
  • Any
  • Object

参考

Q76. You have written a function, 种类(), that should accept only collections that implement the Comparable 界面. How can you restrict the function?

fun sort(list: List<T>): List <T> {
    return list.sorted()
}
  • <T -> Comparable<T>> between the fun keyword and the function name
  • Comparable<T> between the fun keyword and the function name
  • <T : Comparable<T>> between the fun keyword and the function name
  • <T where Comparable<T>> between the fun keyword and the function name

参考

Q77. Kotlin classes are final by default. What does final mean?

  • final means that you cannot use interfaces with this class.
  • final means that this is the only file that can use the class.
  • final means that you cannot extend the class.
  • final classes cannot be used in the final section of a try/catch block.

参考

Q78. You have created an array to hold three strings. When you run the code below, the compiler displays an error. Why does the code fail?

val names = arrayOf<String>(3)
names[3]= "Delta"

  • Arrays use zero-based indexes. The value 3 is outside of the array’s bounds
  • You accessed the element with an index but should have used.set().
  • You declared the array with val but should have used var
  • You cannot changes the value of an element of an array. You should have used a mutable list.

Q79. If a class has one or more secondary constructors, what must each of them do?

  • Each secondary constructor must call super().
  • Each secondary constructor must call base().
  • Each secondary constructor must directly or indirectly delegate to the primary.
  • Each secondary constructor must have the same name as the class.

参考

Q80. When you can omit the constructor keyword from the primary constructor?

  • It can be omitted only if an init block is defined.
  • It can be omitted anytime; 这不是强制性的.
  • It can be omitted if secondary constructors are defined.
  • It can be omitted when the primary constructor does not have any modifiers or annotations.
  1. article
  2. 参考

Q81. How many different kinds of constructors are available for kotlin classes?

  • 二.
  • 没有任何.
  • 四.
  • 一.

参考

Q82. What is the default visibility modifier in Kotlin?

  • 受保护
  • 私人的
  • internal
  • 上市

参考

Q83. The code below compiles and executes without issue, but is not idiomatic kotlin. What is a better way to implement the printlln()?

fun main() {
  val name: String = "Amos"
  val grade: Float = 95.5f
  println("My name is " + name + ". I score " + grade + " points on the last coding quiz.")
}
  • 使用 new printf().
  • 使用 string.format 代替.
  • 使用 string append 代替.
  • Use string templates instead.

参考

Q84. You have enum class Signal that represents a state of the network connection. You want to iterate over each member of the enum. Which line of code shows how to do that `?

  • Signal.sequence().
  • Signal.toArray().
  • Signal.values().
  • Signal.toList().

参考

Q85. You’d like to create a multiline string that includes the carriage return character. What should you use to enclose the string?

  • Double quotes(“”).
  • Single quotes(’).
  • Tripple quote(“””).
  • Backticks().

参考

Q86. You want your class member to be visible to subclasses. Which modifier do you use?

  • 民众.
  • Protected.
  • 内部的.
  • 私人的.

参考

Q87. Which line of code shows how to create a finite sequence of the numbers 1 至 99 and then convert it into a list?

  • val lessThan99 = generateSequence(1){ 如果 (它 < 99) 它 + 1 else null }.toList().
  • val lessThan99 = generateSequence(0){ 如果 (它 < 99)}.toList().
  • val lessThan99 = generateSequence(1..9){ 如果 (它 < 99) 它 + 1 else null }.toList().
  • val lessThan99 = listOf{1..99}.asSequence().toList()

参考

Q88. What is wrong with this class definition?

class Empty

  • The class is properly defined, so nothing is wrong with it.
  • The parentheses are missing-it should be declared as class Empty().
  • Empty is a Kotlin keyword, so the code will generate an error when compiled.
  • The curly braces are missing from the declaration of Empty.

参考

Q89. What is a higher-order function in Kotlin?

  • A higher-order function is a function that returns a value other than Unit.
  • A higher-order function is the function that appears before others in a file.
  • A higher-order function is one that can be stored in a variable.
  • A higher-order function is a function that takes a function as a parameter or returns a function.

参考

Q90. What is Kotlin?

  • A markup language commonly used for web development.
  • A general-purpose, 静态类型, open-source programming language.
  • A relational database management system.
  • A web framework for building dynamic web applications.

Q91. Who developed Kotlin?

  • 谷歌
  • 苹果
  • 微软
  • JetBrains

Q92. Which of the following platforms can Kotlin be used for?

  • Android app development
  • Server-side applications
  • Web development
  • Desktop application development

Q93. What are some key features of Kotlin?

  • Conciseness
  • Null safety
  • Full Java interoperability
  • Smart Cast
  • Extension functions
  • Automatic memory management

Q94. Why do some developers switch to Kotlin from Java?

  • Kotlin is more concise and cleaner.
  • Kotlin offers useful features not present in Java.
  • Kotlin has good support for Android development.
  • Kotlin is interoperable with Java.
  • 上述所有的

Q95. How does Kotlin work on Android?

  • Kotlin code is compiled directly into machine code.
  • Kotlin code is interpreted at runtime.
  • Kotlin code is compiled into Java bytecode and runs on the JVM.
  • Kotlin code is compiled into C++ code for Android.

Q96. What is the difference between variable declaration with varval in Kotlin?

  • var is used for mutable variables, 而 val is used for immutable variables.
  • var is used for immutable variables, 而 val is used for mutable variables.
  • varval are interchangeable; 没有区别.
  • varval are used for completely different purposes.

Q97. What is the difference between variable declaration with valconst in Kotlin?

  • There is no difference; valconst can be used interchangeably.
  • val variables must be initialized at compile-time, 而 const variables can be initialized at runtime.
  • const is used for mutable variables, 而 val is used for immutable variables.
  • const is used for compile-time constants, 而 val is used for immutable variables that can be initialized at runtime.

Q98. How can you create a singleton in Kotlin?

  • By defining a private constructor in the class.
  • By using an object.
  • By declaring a class as final.
  • By implementing the Singleton 界面.

Q99. What is a primary constructor in Kotlin?

  • It is a constructor that can only be called from within the same class.
  • It is a constructor that has no parameters.
  • It is the constructor defined in the class header.
  • It is a constructor that is used for deserialization.

辅酶Q100. What do you understand by Null safety in Kotlin?

  • Null safety is a feature that helps prevent null pointer exceptions in code.
  • Null safety is a way to force variables to always have null values.
  • Null safety is a technique for creating nullable variables.
  • Null safety is a feature to allows null values without checks.

参考

Q101. How can you ensure null safety in Kotlin?

  • By using the !! operator to force variables to be non-null.
  • By using safe calls (?.) and the Elvis operator (?:).
  • By declaring all variables as nullable.
  • Null safety cannot be ensured in Kotlin.

Q102. What is a data class in Kotlin?

  • A class used for storing confidential data.
  • A class designed to hold data with automatically generated methods.
  • A class used to create instances of other classes.
  • A class used to define the structure of data in a database.

Q103. What is the default behavior of Kotlin classes?

  • All classes are open by default.
  • All classes are final by default.
  • All classes are abstract by default.
  • All classes are static by default.

Q104. Does Kotlin provide support for primitive data types?

  • 没有, Kotlin does not provide support for primitive data types like in Java.
  • 是, Kotlin supports primitive data types in addition to objects.
  • Only for certain primitive data types, 如 int.
  • 是, Kotlin provides support for primitive data types like in Java.

Q105. Does Kotlin provide support for macros?

  • 是, Kotlin has a rich set of macros for code generation.
  • 没有, Kotlin does not support macros.
  • 是, Kotlin supports macros for advanced metaprogramming.
  • Macros are not needed in Kotlin as it use a different approach.

Q106. What is the use of the open keyword in Kotlin?

  • open keyword is used to declare a variable as mutable.
  • open keyword is used to allow a class or function to be subclassed or overridden.
  • open keyword is used to specify a class as abstract.
  • open keyword is used to indicate that a variable is always null.

Q107. What do you understand by the Ranges operator in Kotlin?

  • The Ranges operator is used to iterate within a range of values.
  • The Ranges operator is used to perform bitwise operations.
  • The Ranges operator is used to concatenate strings.
  • The Ranges operator is used for logical comparisons.

Q108. Where should we use varval in Kotlin?

  • varval can be used interchangeably; 没有区别.
  • 使用 var for mutable variables and val for immutable variables.
  • 使用 var for integers and val for strings.
  • 使用 var for class properties and val for local variables.

Q109. What is the difference between a safe call (?.) and a null check (!!) in Kotlin?

  • The safe call (?.) checks if a variable is null and returns null if it is, while the null check (!!) throws a KotlinNullPointerException if the variable is null.
  • The safe call (?.) and null check (!!) perform the same operation.
  • The safe call (?.) and null check (!!) both return the value of the variable if it is null.
  • The safe call (?.) and null check (!!) are not valid Kotlin operators.

Q110. What is the basic difference between foldreduce in Kotlin?

  • fold takes an initial accumulator value and applies a binary operation to the elements and the accumulator, 而 reduce uses the first element as the initial accumulator value.
  • foldreduce are equivalent and can be used interchangeably.
  • fold can only be used with collections, 而 reduce can be used with any data type.
  • foldreduce are both used for filtering elements in a collection.

Q111. What are the advantages of “什么时候” 过度 “开关” in Kotlin?

  • “什么时候” in Kotlin is more concise and powerful than “开关” in Java.
  • “什么时候” in Kotlin is less flexible than “开关” in Java.
  • “什么时候” in Kotlin can only be used with integers.
  • “什么时候” in Kotlin is less efficient than “开关” in Java.

Q112. Why does this code snippet not compile?

interface Vehicle

fun main() {
  val myCar = Vehicle()
}
  • Vehicle is an interface.
  • Vehicle needs an init block.
  • The keyword new is missing.
  • Vehicle lacks a constructor.

参考

Q113. What is the difference between a primary constructor and a secondary constructor in Kotlin?

  • A primary constructor is declared in the class header, while a secondary constructor is declared in the class body.
  • A primary constructor can have only one parameter, while a secondary constructor can have multiple parameters.
  • A primary constructor must initialize all of the class’s properties, while a secondary constructor does not have to initialize all of the class’s properties.
  • A primary constructor can only be called once, while a secondary constructor can be called multiple times.

参考

作者

  • 海伦·贝西

    你好, I'm Helena, 一位热衷于在教育领域发布有洞察力内容的博客作者. 我相信教育是个人和社会发展的关键, 我想与所有年龄和背景的学习者分享我的知识和经验. 在我的博客上, 您会找到有关学习策略等主题的文章, 在线教育, 职业指导, 和更多. 我也欢迎读者的反馈和建议, 所以请随时发表评论或联系我. 我希望您喜欢阅读我的博客并发现它有用且鼓舞人心.

    查看所有帖子

关于 海伦·贝西

你好, I'm Helena, 一位热衷于在教育领域发布有洞察力内容的博客作者. 我相信教育是个人和社会发展的关键, 我想与所有年龄和背景的学习者分享我的知识和经验. 在我的博客上, 您会找到有关学习策略等主题的文章, 在线教育, 职业指导, 和更多. 我也欢迎读者的反馈和建议, 所以请随时发表评论或联系我. 我希望您喜欢阅读我的博客并发现它有用且鼓舞人心.

发表评论