###CVTE 面试

CVTE 面试

  • 万年不变的自我介绍
  • 问了下自己做过什么项目
  • C/C++的区别,更倾向与哪个?
    答:主要是类和多态,扯了下C是面向过程式编程,而C++则主要是面向对象(类似Java),当然也可以面向过程(类似C),在C++11新特性里有多了个函数闭包,类似于javascript的函数式编程,C++就像一把锋利的瑞士军刀。
    然后就问了下多态内部是怎么实现的?
    答:每个类里面都有一个虚表,通过存储的函数指针调用
    这是在哪个阶段执行的?
    答:运行时。
    确定吗?
    答:看起来像是在运行时执行的,虚表则是在编译阶段就建立好的,运行时通过虚表存储的函数指针调用相应的函数。
  • 说一下TCP建立连接的过程(结合下socket的接口说说)
    说了三次握手的建立过程,以及为什么要三次握手,关于接口记得不太清晰,说得不好。说着说着问了下为什么要绑定ip和端口号,端口号有什么作用?
  • C++里的浅拷贝和深拷贝的区别?
    扯着扯着扯到java去了,java全部(除了内置类型)都是传引用,但需要一个GC来管理内存,而C++没有GC,需要自己管理内存。
  • 给你一个巨大的文件,里面存放的url,去除掉重复的url
    一开始答用一个Map保存这些url,去除重复,然后又扯了下将url映射成数字(信息指纹)存取,节省内存空间。
    就被反问道:是要全部存在内存中吗?很大的文件喔?
    思考了两秒钟,说是借助外部存储,将url分类,通过域名分类,将大文件url分为小文件,然后再用map去重。
  • 写一个小程序
    给定一串字符串,将字符串里的单词调转过来
    例如:Hello CVTE !
    输出:CVTE Hello !
    哎,没注意到“!”,以为“!”也是单词,写出来的程序结果为:
    !CVTE Hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值