阿里暑期实习提前批面试记录(凉)
title: 阿里实习面试记录(凉)
date: 2020-02-29 17:00:41
tags: 面试
聊了一个小时,大概是凉了。碰巧在boss直聘上招人leader找我,就提前面了。第一次在牛客发帖,欢迎多交流。
- 在百度的实习主要做什么呢?
视频中台项目。
那人家要用你的服务,应该怎么接入呢?
开始blabla。。 - 可以说一下三次握手吗?
(说了)
为什么是三次呢?
因为这样确认之后,两台机器都能确认已经建立了连接,而不会出现实际上没有建立连接,但是一台机器以为建立了连接,而一直发送数据的情况。
那为什么不是4次呢?
可能因为3次就能够让两台机器确保是否已经连接了,就没必要再多一次。 - 网络层和运输层有什么区别呢?
没想出来。
TCP属于哪一层。
运输层。 - 一个分布式的订单系统,要怎么发出不同的订单号?
答:可以像手机运营商的手机号一样,三大运营商的手机号前三个都是不一样的。让每个机器都只能分发某个范围的订单。
那单个机器里怎么实现不同的订单?
可以把下订单的时间写进去。
那不行啊,那还有毫秒的呢?
(我开始瞎说)可以用一个全局变量。(多线程编程我暂时还不会)
写一个程序,怎么样保证它的cpu利用率。
答:可以写个sleep(),控制好时间。你说一下你熟悉的语言里的垃圾回收机制。
一般来说是通过析构函数来回收的。
那如果析构函数没写好呢?
可以拿一个vector来存new出来的内存,然后要释放的时候就遍历这个vector。
那如果有一些全局的,不需要释放的呢?
emmm不懂了。如果一个程序死循环了,在线上服务,要怎么把它找出来?
不懂。用过linux里的top命令吗?
没有用过。你觉得你的优势在哪?
我之前是打竞赛的,写那种思维题比较擅长。你对C++的语法熟悉吗?100分能打多少分呢?
70吧,一些基础的语法肯定会,然后就是STL库的调用,比如map,set,vector之类的。你知道map是怎么实现的吗?
底层是红黑树
那你知道为什么要用红黑树吗?
先说一下最原始的二叉搜索树,这个树的缺点就是如果数据不合理的话树就会变长,变得向链表一样长。然后就到了平衡树,平衡树是需要旋转以达到二叉树平衡的目的。而红黑树相对于平衡树来说应该是插入时的旋转操作比较少一些。用过SQL吗?
只是有这门课,但是实习没用过。你知道B+树吗?
知道,数据库的索引用是这个数据结构。
为什么呢?
因为数据库是写在磁盘里的,而不是写在内存里,所以这个B+树比较适合这个应用场景。你当队长的时候怎么组织训练呢?
blabla,应该是属于闲聊的问题吧。你要有什么问题吗?
我想问一下贵司招暑期实习生需要哪些方面的能力呢?
主要是基础吧,一些语法,和操作系统,计算机网络之类的。
那类似于分布式的订单号这种,应该不属于基础知识吧?
这种对于你们来说属于附加题,答出来会有加分。
但是多线程应该是基础知识,作为一个程序员,不可能不知道多线程吧。
好的,了解了。没有其他问题了。