美文网首页程序员
南京视听科技笔面试总结

南京视听科技笔面试总结

作者: 墨_辰 | 来源:发表于2019-03-19 10:58 被阅读0次

面南京试听科技笔试题:

解释性语言和编译型语言,各举两个例子

答:
解释型语言:源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;运行效率一般相对比较低,依赖解释器,跨平台性好。举例:Python、JavaScript、Shell、Ruby、MATLAB

编译型语言:只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;但比较依赖编译器,因此跨平台性差一些。举例:OC,C++,C

一个32位系统的机器,其指针是多少字节的。

答:指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。

“N+1<N”在N是什么类型下成立

答:这个确实不知道。

软件测试有哪些类型,分别对应哪些项目。

答:软件测试可以分为黑盒测试和白盒测试,也可分为性能测试和功能测试。
单元测试:
集成测试:
系统测试:
验收测试:
回归测试:

程序在内存中运行时分为几个区,各自用途:

答:
全局区(静态区):存放全局变量和静态变量,与其他变量的生命周期不同,程序结束时会自动释放这块内容
文字常量区:常量字符串存放在这个位置,也就是常量池。程序结束时,系统自动释放这块区域
代码区:存放代码,app程序会拷贝到这里。
栈区:存放函数的参数值,局部变量的值。他的生命周期较短,进入作用域的时候分配占用内存,离开作用域的时候释放占用的内存。
堆区:一般是由人为控制这块区域的内存分配和释放。在C和C++中,堆内存如果忘记释放,可能导致可用内存越来越少,这就是内存泄漏。

引用和指针的区别:

答:引用是别名,指针是地址。
指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。
从内存分配上看,程序为指针变量分配内存区域,而不为引用分配内存区域,因为引用声明时必须初始化,从而指向一个已经存在的对象。引用不能指向空值。

int retVal = UIApplicationMain(argc, argv, nil, nil);是什么意思

答:初始化UIApplication对象并为它设置代理,UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。 argc: 系统或者用户传入的参数个数;argv: 系统或者用户传入的实际参数

ios 保存一个变量到本地的两种方法:

答:iOS本地缓存数据的方式有五种:1.直接写文件方式,可以存储的对象有NSString、NSArray、NSDictionary、NSData、NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中;2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下;3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中;4.coreData;5.FMDB(FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API)

实现一个委托的interface:

答:

import <Foundation/Foundation.h>

// 协议定义
@protocol SampleProtocolDelegate <NSObject>
@required

  • (void) processCompleted;
    @end
    // 协议定义结束
    @interface SampleProtocol : NSObject

{
// Delegate to respond back
id <SampleProtocolDelegate> _delegate;

}
@property (nonatomic,strong) id delegate;

-(void)startSampleProcess; // Instance method

@end

当A类中的某个方法执行到某处时,想在B类中执行某方法,需要如何做?

答:使用通知,在B类中注册通知,并绑定需要执行的方法,在A类的方法执行到特定地方时,发送通知。这时,B中的方法会被执行。

类方法创造的对象要不要release释放?

答:不需要 这个对象被放到自动释放池中
类方创建对象:好处:不用我们去管理内存,坏处:在类方法中创建的对象是autorelease的,我们并不知它什么时候回被释放掉,有可能会造成提前释放,提前释放如果再访问这个对象,就会野指针操作;

#import和#include的区别:

答:#import是导入Objective-C头文件的关键词,#include是导入C/C++头文件的关键词;
使用#include需要处理重复引用,#import能防止同一个文件被多次包含,则不需要处理重复引用;

相关文章

  • 南京视听科技笔面试总结

    面南京试听科技笔试题: 解释性语言和编译型语言,各举两个例子 答:解释型语言:源代码不能直接翻译成机器语言,而是先...

  • 网宿科技面试总结

    1.你知道我们公司是做什么的吗?为什么想来我们公司? 网宿科技是做CDN,content delivery net...

  • 前端面试体会

    最近一周笔、面试了7到8家的公司。总结一下笔、面试中自己的体会。 作为菜鸟的我,写这些经验之谈,可能和我水平差不多...

  • 阿里腾讯头条美团等iOS面试总结

    阿里iOS面试总结 头条iOS面试总结 腾讯iOS面试总结 百度iOS面试总结 美团iOS面试总结

  • 人工智能“面试官上岗了

    今天早上看到一篇报道,说南京有家公司,叫南京葡萄诚信息科技有限公司,该公司最近新上线了一款产品:AI全能面试机器人...

  • 前端React Native面试题

    最近看到的一些面试题,收集整理了下,以后说不定也会用到 React Native 面试总结--北京识物科技有限公司...

  • 数据结构笔面试总结

    涉及的几个部分数据结构部分数组、栈、链表、队列、树、图 数组 数组是最简单、也是使用最广泛的数据结构。栈、队列等其...

  • Android面试系列2018总结(全方面覆盖Android知识

    Android面试系列2018总结(全方面覆盖Android知识结构)   拿到一份offer比什么都重要,所以笔...

  • 依图科技电话面试总结

    谈谈可视化构建工具这个项目? 模拟终端的问题怎么解决?(项目) 年会项目你遇到哪些问题,怎么解决?(函数节流、设备...

  • Java面试题汇总

    Java面试题总结 Java面试题总结一Java面试题总结二

网友评论

    本文标题:南京视听科技笔面试总结

    本文链接:https://www.haomeiwen.com/subject/vnbwmqtx.html