Problems in Interview

Data Struct

  1. 堆和栈的区别

    栈静态内存分配,堆动态内存分配,都存储于 RAM 中;

    栈中的变量直接存储于内存中,所以访问很快,它的内存分配是在程序编译的时候处理的;堆中的变量在程序运行时分配内存,访问这个内存会稍慢一些,但是堆的大小限制只取决于虚拟内存的大小。

    栈总是遵循先进后出的原则,最近保存的元素总可以最先被释放,这使得从栈中释放一个元素或者块非常容易;堆没有先进先出的原则,可以在任何时候释放任何元素或者块,每个堆中的元素之间都没有依赖关系,可以在任何时候随机访问。

    在知道元素的个数这种情况下,分配栈;相反分配堆。

  2. 手写链表

    注意手写链表的时候两个要点:

    • 自定义一个 Node Class
    • 链表的遍历使用一个 cur 指针,初试令其指向 head 头结点
  3. 如何判断链表两个链表相交?参考博客解释

    1. 快慢指针判断链表有环
    2. 同时遍历两个链表,如果到链表结束,则将指针指向另一个链表,遍历直到两个移动的指针相等

    扩展问题:如何找出一个有环链表中的环的起始节点?

    使用快慢指针,如果有环,快慢指针相遇的位置距离环的位置等于头节点到环的位置。

  4. 已知一个栈的入栈序列,判断另一个序列是否为合法的出栈序列

  5. 什么是红黑树?

OS

  1. 熟悉哪些 Linux 指令

Networks

  1. 报文和帧的区别

  2. ipv4 和 ipv6 的区别

  3. TCP/IP 模型

IQ Test

  1. 找出重量和其他 99 个不同的 1 个乒乓球

  2. 1000 只药水,1瓶是毒药,服用后一小时毒发,毒药可以无限稀释,一小时内用几只小白鼠能找到解药?

    知乎回答 log1000 = 10

  3. HTTP 和 HTTPS 的区别

    HTTP + 加密 + 认证 + 完整性保护 = HTTPS

后台问题

  1. 进程和线程是什么,进程和线程的区别

  2. I/O 模型是什么

  3. 解释一下多进程

    fork 方式

  4. 进程间通信?

    • 信号量

    • 共享内存

    • 管道

DataBase

  1. MongoDB 的 _id 如何保持其唯一性?

    _id 类型为 ObjectId, 是一个 12 字节的 BSON 类型字符串,按照字节顺序,依次代表:

    4字节:UNIX 时间戳 3字节:表示运行 MongoDB 的机器 2字节:表示生成此 _id 的进程 3字节:由一个随机开始的计数器生成的值

  2. MongoDB 分页查询

Self-introducation

你好面试官,我是西安电子科技大学的陈惟高,专业是软件工程。

作者:一边喝喜茶一边等offer 链接:https://www.nowcoder.com/discuss/190526 来源:牛客网

我是XXXX大学的XXX,专业是软件工程。我曾大三上学期在XXXX去台湾XXXX大学做交换生,那个时候和导师研究的方向是机器学习和计算机视觉。我们研究了XXXX,帮助导师发了XXXX的paper,同时也在那个时候完成了XXXapp的开发,从那个时候开始我对Android产生了兴趣。(中间详细介绍这个app的逻辑和原理)。然后我在大四在腾讯做测试的实习生,负责的是腾讯XXapp的功能测试。虽然黑盒测试很简单,但这是我第一份在互联网的实习,我深深感觉到在大厂做测试是很不容易的。比如在测试XXX的过程中,我碰到了XXX困难,向我的导师寻求帮助,他说了XXXXXX,那一刻我就觉得,月活越大的app,在架构上就要越严谨,同时对开发和对测试人员来说都是很大的挑战。但因为我是一个技术导向的人,我秋招拿到了XX公司的offer,我就去实习做安卓开发了。我在XX公司的第一个项目是做动态化的桥接,主要是将XXXX和XXXX做j***ridge,用到了设计模式的桥接模式,学习了XXX的封装。第二个项目是我和团队里的两位导师一起负责XXXX的开发,我单独负责XXXX模块,主要是涉及前端页面的编写、缓存的设计与加载、从后端或数据库读取数据等等。第三个项目是XXXapp,我负责的XXXXXXXX,碰到了什么什么困难。经过了两段实习之后,我认为我是一个学习能力很强的人,对移动端感兴趣,所以想找XXX的工作。

Mind

  1. 关于华为实习

    华为实习在西安,所以挺想去的,从 3 月 22 日投递简历到 5 月 21 日,期间面试也结束了,HR 也打电话说要等待消息,可是至今为止没有任何消息,等了这么久,也不知道该怎么办,其他部门貌似都很顺利,华为云怎么就这么慢呢?今天我在华为官网上投递了其他部门,可能等不下去了,我也不知道这样是对是错,该怎么办,我也很迷茫,也感觉运气有点差。

    接下来的计划就是准备如果无法去实习的话,未来两个月的打算。首先,深度学习可能是不能想了,C++ 后台估计也不行,喜欢前端但是入门太晚,现在对方向感到了迷茫,也不知道如何是好,刷题看面经提高综合水平吧,实在不行只有去研究所看看了,希望能找几个好的开源项目跟进一下就更棒了。

Last Updated: 5/22/2019, 12:37:45 PM