腾讯一面

一面:
先自我介绍
面试官看简历问道:你这个超级手电筒项目上写用到了多线程,如何用到的?
答:新建一个线程,通过Hander来传递消息,使UI线程改变视图,用到了多线程
问:为什么要通过Hander改变UI线程的视图?
答:因为UI线程不允许子线程改变其视图
问:为什么不允许?为什么要这么设计?
答:我觉得是(较长,略)
问:这个2048游戏项目怎么做的?讲一下如何实现的?核心算法介绍下
答:(略)
问:了解设计模式吗?有哪些设计模式?
答:23种设计模式,常见的有单例模式,抽象工厂,工厂方法,建造模式,原型模式,迭代器模式等。。。
问:写一个单例模式
问:这个单例如何实现多线程访问?
答:加synchronized
问:为什么要这么写?何种情况用单例?
问:有哪些数据结构?
问:这些数据结构一般在何种情况下使用?有何优劣?
问:知道数据结构中的对齐吗?
答:(懵逼,卧槽,问的个啥)不造呀,完全没听说过,可以说下吗?
面试官:哈哈哈哈哈,这个不可以有。
Ps:后来查了下,对齐应该是多个基础数据类型在内存中的分配方式,提高查找的效率
问:知道哪些算法?有哪些排序方法?(没问我具体怎么实现)
问:操作系统方面,进程与线程的区别?
问:进程间如何通信?(管道,共享内存,信号量,消息队列,套接字 等)
问:计算机网络方面,TCP UDP的区别?
答:还没学呢,这学期才开始学
问:程序内存何如分配的?如何释放?堆栈的区别?
问:堆多大?栈多大?
问:一个对象可以new在栈上吗?怎么做?
答:(懵逼了,瞎说开始)动态分配的内存在堆上是已经设计好了的,你要是技术牛逼到很高的境界,应该是可以new在栈上的,但它这么设计肯定是有他的道理的,栈只能后进先出,不适合动态分配。
问:死锁是什么?
问:写一个死锁程序?(懵逼)
问:说下思路
问:写下倒转一个字符串的程序,考虑时间空间复杂度

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值