• 李洪强经典面试题6


    1. 如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?

    编写SQL语句来操作原来表中的字段

    1>   增加表字段

    ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;

    2>   删除表字段

    ALTER TABLE 表名 DROP COLUMN 字段名;

    3>   修改表字段

    ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名;

     

    1. SQLite数据存储是怎么用?

    1>   添加SQLite动态库:

    2>   导入主头文件:#import <sqlite3.h>

    3>   利用C语言函数创建打开数据库,编写SQL语句

     

    1. 简单描述下客户端的缓存机制?
      1. 缓存可以分为:内存数据缓存、数据库缓存、文件缓存
      2. 每次想获取数据的时候

    1>  先检测内存中有无缓存

    2>  再检测本地有无缓存(数据库文件)

    3>  最终发送网络请求

    4>  将服务器返回的网络数据进行缓存(内存、数据库、文件), 以便下次读取

     

    1. 你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?

    1>  CoreData是对SQLite数据库的封装

    2>  CoreData中的NSManagedObjectContext在多线程中不安全

    3>  如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext

    4>  每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在便用NSPersistentStoreCoordinator前上锁

     

    1. core  data数据迁移

    http://blog.csdn.net/jasonblog/article/details/17842535

     

  • 相关阅读:
    docker 安装 kafka
    【LeetCode】406根据身高重建队列 A
    SketchUp自动化——在Ruby中创建3D模型>>机器翻译笔记
    阅读真经5解析小程序
    MySQL中的where和having的区别
    日志中常见的异常(Exeption)
    软件测试&接口测试基本流程
    Charles使用教程(macOS)—附加安装包以及注册码
    导读
    帝国CMS灵动标签循环调用多个栏目下文章
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5595632.html
Copyright © 2020-2023  润新知