富途 客户端

面试官声音太低  听不清
1h
操作系统
1.内存分区 堆和栈的区别
按照内存地址从高到低的顺序排列,可分为5大分区:栈区 -> 堆区 -> 全局静态区 -> 常量区 -> 代码区
  • 栈区
    • 栈区的内存空间由系统管理--> 即方法调用开始时开辟空间,方法调用结束时回收空间。
    • 栈区是从高地址向低地址扩展,是一块连续的内存区域,遵循先进后出,后进先出(FILO)原则,使用效率高。
    • 栈区的内存空间是在运行时由系统进行分配。
    • 哪些变量是栈区的?例如  方法的入参,内部定义的局部变量等,都存放在栈区。
  • 堆区
    • 最大的特点 --> 空间大,需程序员自己手动管理。
    • 堆区是从低地址向高地址扩展
    • 堆区由系统api开辟空间(c/c++ -->malloc、calloc、realloc, oc -->allocnew),这个空间可以是不连续的,以链表结构存在,
    • 开辟出的空间的首地址是在栈区,例如LGPerson *person = [[LGPerson alloc] init];这个person指向所指向的地址是在栈区。
    • 内存回收 -->free回收,做了两件事,一是释放堆区的内存,二是将栈区的指针置为nil。
  • 全局静态区
    • 存放全局变量和静态变量。
    • 内存空间也是由系统管理-->程序启动时开辟,程序结束时回收,程序执行期间一直存在。
    • static修饰的变量仅执行一次,生命周期为整个程序运行期。
  • 常量区
    • 存放常量👇(整型、字符型,浮点型,字符串等),整个程序运行期不能被改变
  • 代码区
    • 存放程序执行的CPU指令,一种二进制文件。(编译期将代码转换为CPU指令)
  • 2. sizeof  strlen  对字符串求大小
    strlen("hello") = 5    sizeof("hello") = 6
    sizeof  是求变量或类型的存储长度。而strlen  是统计字符串中字符的个数,不包括终止符‘/0’
    3. 内存对齐   下面结构体占16个字节
    struct s{
    int a;
    char b[7];
    float c;
    };
    int 4  char 1  short 2  float 4  double  8
    4. static 和 const 的作用,区别
    const int *p   如何改变p指向的值
    int * const p
    5. 进程和线程的区别
    线程为什么是轻量级进程
    6. 死锁是什么 死锁的四大条件  死锁避免措施,如何解决

    计算机网络
    1.OSI 七层模型及各层作用;
    2. HTTP是什么 报文结构 关键字段
    3. GET POST区别
    4. TCP 挥手为什么4次 拥塞控制原理
    5. TCP UDP 区别

    设计模式
    1.单例模式 工厂模式
    2.六大原则
    ....

    数据结构
    1.vector list
    2. sort
    3. 队列实现栈
    4. 相交链表

    逻辑题
    4个人在晚上过一座小桥,过桥时必须要用到手电筒,只有一枚手电筒,每次最多只可以有两人通过, 4个人的过桥速度分别为1分钟、2分钟、5分钟、10分钟,试问最少需要多长时间4人才可以全部通过小桥?







    #面经##富途#
    全部评论
    楼主二面了吗
    点赞 回复
    分享
    发布于 2021-10-11 03:18
    是windows客户端吗
    点赞 回复
    分享
    发布于 2022-04-25 08:11
    小红书
    校招火热招聘中
    官网直投

    相关推荐

    4 24 评论
    分享
    牛客网
    牛客企业服务