现在注册

登录

忘记密码

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

添加后

你必须登录后添加 .

添加问题

您必须登录才能提问.

登录

现在注册

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

LinkedIn 技能评估答案和问题 — Objective-C

目标-C is a powerful object-oriented programming language that forms the foundation of iOS app development. 在这份综合指南中, we’re excited to present a series of 技能评估问题答案 specifically tailored for 目标-C.

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 a master of 目标-C 及其应用. Join us as we explore the fundamentals of 目标-C, memory management, delegation patterns, and other critical aspects of working with this cutting-edge language.

第一季度. What is the value of s?

NSMutableString *s = [NSMutableString stringWithString: @"123"];
[s appendString: @"456"];
  • 123456
  • 123
  • 123
  • 456
  • This code contains an error.

Q2. What’s the value of i after these statements?

NSString *str = nil;
NSInteger i = str.integerValue;
  • nil
  • 0 (技术上 nil == 0 but i will have a literal value of 0 and not the void* value of nil)
  • -1
  • This code crashes.

Q3. What value is in str after this line in executed?

NSString str = "test" + " " + "more";

  • This code contains an error
  • 测试
  • nil
  • test more

第四季度. What is the output of the code given below?

    NSPredicate *p2 = [NSPredicate predicateWithBlock:^BOOL(NSString*  evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
      return evaluatedObject.intValue % 2 == 0;
    }];
    NSArray *vals = @[@"1", @"2", @"3"];
    NSArray *n2 = [vals filteredArrayUsingPredicate:p2];
    NSLog(@"%@", n2.firstObject);
  • 2
  • 1,2,3
  • 1,2
  • 没有, since this code contains an error.

Q5. Property defaults include _?

  • atomic/strong
  • atomic/weak
  • nonatomic/weak
  • nonatomic/strong

Q6. What is the key difference between NSDictionary and NSMutableDictionary?

  • NSMutableDictionary’s values can change
  • NSMutableDictionary has not initializers.
  • NSDictionary can’t be copied.
  • NSDictionary’s values can change.

Q7. What is foo?

-(float)foo;

  • A function with a return type of float.
  • This code contains an error.
  • A variable declaration of type float.
  • A property of type float.

Q8. What can you glean from this line?

#import "NSString+NameHelper.h"

  • NameHelper is a category of NSString.
  • NameHelper is a subclass of NSString.
  • NSString implements the NameHelper protocol.
  • NSString has a helper class.

Q9. What’s wrong with this code?

float x = 5.;

  • Nothing is wrong with this code.
  • Declarations do not need semicolons.
  • x=5 is an invalid float.
  • Variables can’t be declared and initialized in the same state.

辅酶Q10. How many times with this loop be executed?

for (int x=0; x<100; x++) {
  x = x + 1;
}
  • 50
  • 99
  • 100
  • This code contains an error.

Q11. What is this code an example of?

[self addObserver: self forKeyPath: @"val" options:0 context: nil];

  • Key-Value Observing
  • Class Value Observing
  • Key-Data Observing
  • KeyPath Observing

Q12. What does ARC stand for?

  • Automatic Reference Counting
  • Automatic Retain Checking
  • Async Retain Cycles
  • Automatic Release Code

Q13. What is printed for this code?

int val = 0;
val = 1.5;
printf("%d", val);
  • 1
  • 2
  • 0
  • This code contains an error.

Q14. What best describes class inheritance in Objective-C?

  • single inheritance but multiple protocol implementation
  • Objective-C doesn’t support inheritance
  • dual class inheritance
  • unlimited class inheritance and protocol adherence

Q15. How many keys does this NSDictionary have after this code is executed?

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @"b", @"e", @"a", @"r", nil];

  • 2
  • 4
  • 5
  • This code contains an error.

Q16. What is the error in this code?

NSMutableDictionary *dict1 = [NSMutableDictionary dictionaryWithCapacity:5];
[dict1 setValue:@"key" forKey:@"value"];
  • The key and value items are mixed
  • Nothing is wrong with it
  • You can’t set the capacity of a dictionary
  • NSMutableDictionary doesn’t have a :setValue:forKey function.

Q17. What is printed from this code?

NSData *data = [@"print" dataUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]);
  • 打印
  • This code is invalid
  • Nothing is printed from this code.
  • nil

Q18. What is different about this function?

+(void)doSomething;

  • It is static
  • It is abstract.
  • It is inline.
  • This code contains an error.

Q19. Structs can have _?

  • 职能
  • initializers
  • 字段
  • 所有这些答案

Q20. What is wrong with this code?

@interface MyClass : NSObject
    @property (strong, nonatomic, readonly) NSString *name;
  @end
  • There is nothing wrong with this code.
  • There is not read-only directive.
  • MyClass doesn’t implement NSObject.
  • Properties are declared in the implementation.

Q21. What is an enums base type for the code below?

typedef enum { Foo1, Foo2} Foo;

  • There is no base type.
  • NSObject
  • 整数
  • NSNumber

Q22. If you want to store a small amount of information (例如, 用户设置), whats the best, built-in way to go?

  • UserDefaults
  • plist file
  • CoreData
  • TextFile

Q23. What are categories used for?

  • to extend other classes
  • to manage access control
  • to coordinate objects
  • to group classes

Q24. What is this Objective-C code checking?

if ([keyPath isInstanceOf:[NSString class]]) {
}
  • This code contains an error
  • if keyPath is an instance of NSString
  • if keyPath’s baseclass is the same as NSString’s baseclass
  • if keyPath implements the same methods as NSString

Q25. What is this a declaration of?

int(^foo)(int);

  • an Extension
  • a Generic
  • a block of code
  • an abstract class

Q26. For observing changes to a property, which of these two statements cause the related method to be called and why?

1. _val = 1;
2. self.val= 100;
  • 陈述 2, since it calls the auto-created setter on the property.
  • 陈述 1, since it uses the property directly.
  • 陈述 2, since it specifies the class instance to use.
  • 陈述 1, since it calls the auto-created setter on the property.

Q27. What is wrong with this code?

float x = 2.0;
int(^foo)(int) = ^(int n1) {
  return (int)(n1*x);
};
foo(5);
  • Ints and floats can’t be multiplied.
  • The parameter isn’t declared correctly.
  • x is not in the right scope.
  • Nothing is wrong with this code.

Q28. What’s the difference between an array and a set?

  • Arrays are ordered, non-unique values.
  • Arrays are stored sorted.
  • Sets are ordered, unique values.
  • Sets can contain nils.

Q29. Dot notation can be used for _?

  • 没有什么, as they’re never used in Objective-C
  • function calls only
  • property getter/setter
  • parameter delimiters

Q30. What is the value of newVals after this code is executed?

NSArray *vals = @[@"1", @"2", @"3"];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF.intValue > 1"];
NSArray *newVals = [vals filteredArrayUsingPredicate:pred];
  • 2,3
  • nil
  • This code contains an error
  • 2,”3″

Q31. How would this function be called?

-(int)foo:(int)a b:(int)c;

  • self.foo(5, b:10);
  • This code contains an error.
  • [self foo:5:10:20];
  • [self foo:5 b:10];

Q32. What is the type of the error return value stored in json?

NSError *error;
NSData *data;
id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
  • NSString
  • NSArray
  • ID
  • NSDictionary

Q33. What is significant about this function declaration?

-(void)testFunc:(NSString**)str;
  • The parameter is passed by value and can not be changed
  • ** is not allowed on a parameter
  • The parameter may be nil
  • The parameter is passed by reference and may be changed

Q34. What is printed from this code execution?

typedef enum {
    thing1,
    thing2,
    thing3
} Thing;


-(void) enumStuff {
    NSLog(@"%d", thing2);
}
  • 0
  • 1
  • thing2
  • This code does not print anything

Q35. You are worried about threaded access to a property and possible collision in writing. What directive should you use on the property?

  • non-atomic
  • 强大
  • weak
  • atomic

Q36. What is wrong with this line of code?

int temp = 1==1;
  • temp is a keyword.
  • 1==1 is invalid.
  • 1==1 evaluates to a Boolean.
  • Nothing is wrong with it.

Q37. What is special about the code within this block?

dispatch_async(dispatch_get_main_queue(), ^{
// code
});
  • It executes on the main queue.
  • It is the last code to run before the app goes inactive.
  • It executes on a background thread.
  • It is queued to execute in the background.

Q38. How many items are in set1 after this code executes?

NSMutableSet *set1 = [NSMutableSet setWithObjects: @1,@2, @3, @4, @5, nil];
[set1 add0bject:@3];
  • zero

Q39. What is wrong with this code?

NSDictionary *d1 = @[@"v1", @4, @"v2", @5.6, @"v3"];
NSlog(@"d1: %@", d1);
  • NSDictionary cannot be printed this way.
  • The last key is missing a value.
  • Dictionaries cannot have mixed types as values.
  • d1 is assigned an NSArray of values.

Q40. What is the initial value of the property val?

@property (nonatomic, readonly) int val;
  • 8
  • nil
  • -1
  • 不明确的

Q41. Which thread should UI updates be processed on to avoid crashes and application lag?

  • 用户界面
  • dispatch
  • 背景
  • 主要的

Q42. What is the value of val after this code is executed?

NSString *val = @"1.23";
BOOL tf = val.boolValue;
  • This code is invalid
  • 是的
  • 没有
  • 1

Q43. In this code, what does ThatOne refer to?

@interface TestClass : ThisOne <ThatOne>
  • the parent class of TestClass
  • the name of the category being created for ThisOne
  • a protocoL impLemented by ThisOne
  • a helper file’s name

Q44. What is the value of result after this code is executed?

NSString *result = [Ftest"
    stringByTrimmingCharactersInSet.NSCharacterSet.alphanumericCharacterSet];
  • “”
  • es
  • “测试”
  • none of these answers

Q45. When will self receive the notification based on this code?

MyClass .classObj = [[MyClass allot] init];
[class0bj add0bserver:self forKeyPath:@"name"
              options:NSKeyValueObservingOptionNew context:NULL];
  • none of these answers
  • class0bj will recieve the notification, not self.
  • when class0bj is set to “名称”
  • when the name property in the class0bj instance changes

Q46. What is wrong with this code?

[*"true" boolValue];
  • String literal are not created with*.
  • NSString doesn’t have a boolValue function.
  • “真的” has no meaning.
  • There is nothing wrong with this code.

Q47. How many times does this loop execute?

int loopVal = 0;
for (int i=0; i>loopVal; i--){
    i--;
}
  • an infinite number of times
  • This code is invalid.
  • zero

Q48. What will this code print?

NSLog(@"%lu", @"test".length);
  • “测试”
  • 没有, this code is invalid.
  • 4
  • 0

Q49. What is the value of numVtoInt after this code is executed?

NSNumber *numV = [NSNumber numberWithFloat:6.7];
int numVtoInt = numV.intValue;
  • 6
  • 0
  • 6.7
  • 7

辅酶50. What does this code print?

NSString *val = @"1.23";
NSLog(@"%.04f", val.floatValue);
  • 1.2300
  • .04
  • This code is invalid
  • 1

Q51. What is the maximum possible value of r1 in this code?

int r1 = arc4random() % 10;
  • 0
  • 9
  • 1
  • 10

作者

  • 海伦·贝西

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

    查看所有帖子

关于 海伦·贝西

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

发表评论