面经放一起吧,做一个汇总吧

A

今天面了一家做车联网的公司。
技术的问题没什么难度,他们也没用mysql,redis这种常用的数据库,用的是其它的nosql。

我不太了解的问题主要有三个吧。随便记录一下。

有用过什么云服务?

云服务这块我过得就是云存储(oss),然后vps(自己搭小飞机用的),不过这种东西只要能看懂api文档。上手没什么难度吧。

serverless架构有什么了解?

我之前在cnode论坛上看到过别人讨论这个来着,还专门去看了下,但是这种烧钱的架构暂时没用上就没往深去看。。

下面是知乎找的一些基本概念,参考链接


**核心思想** 用户无需关注支撑应用服务运行的底层主机。 无服务并不是说基于 Serverless 架构的软件应用不需要服务器就可以运行,其指的是用户无须关心软件应用运行涉及的底层服务器的状态、资源(比如 CPU、内存、磁盘及网络)及数量。
**优势** 提高应用交付的效率,降低应用运营的工作量和成本。
**劣势** emm...应该是贵吧。。毕竟服务器资源都是钱嘛。。
  • 控制力:用户对底层的计算资源没有控制力。
  • 可移植性:不同IT厂商的 Serverless 平台和解决方案的具体实现并不相同。
  • 安全性:用户不能直接控制应用实际所运行的主机。
  • 性能:按需加载服务资源,首次加载及重新加载的过程将产生一定的延时。
  • Serverless按需加载执行,对Fass函数执行时长存在限制。
  • 起步时间不长的新兴技术,Serverless 相关平台、工具和框架还处在一个不断变化和演进的阶段,文档资料相对较少。

**目前市场上比较流行的 Serverless 工具、框架和平台**
  • AWS Lambda,最早被大众所认可的 Serverless 实现。
  • Azure Functions,来自微软公有云的 Serverless 实现。
  • OpenWhisk,Apache 社区的开源 Serverless 框架。
  • Kubeless,基于 Kubernetes 架构实现的开源 Serverless 框架。
  • Fission,Platform9 推出的开源 Serverless 框架。
  • OpenFaaS,以容器技术为核心的开源 Serverless 框架。
  • Fn,来自 Oracle 的开源 Serverless 框架,由原 Iron Functions 团队开发。

物联网协议s

物联网架构及五大常用通信协议

ps: 正常技术问题没什么难度,主要是方向不太一致。看缘分吧。


B

哈希表实现

我说了数组的实现,hash函数生成index,插入数据。

哈希冲突:1. 开放寻址法 。2. 链表法


两数求和

给一个整数数组,给一个整数,找出这个数组中之和等于这个整数的组和。

假设:输入[1,2,3,4] 和 6 输出 [1,3]

我记得我在LeetCode刷到过。

方法1:暴力解,双重for循环。 时间: O(n2) 空间:O(1)

方法2:先遍历一遍,先生成一个下标和值的字典,然后再遍历一遍,在字典中寻找合适的值。 时间:O(n) 空间:O(n)

面试官说可以用快速排序+二分查找来实现。。时间:O(nlonn) 空间:O(logn)
>>>代码地址

快速排序

说了一下快排的原理,问了一下什么情况下快排的时间复杂度是O(n2) 。

然后为了下为什么会是O(n2) 。。。这个我真没注意过,不过结束后我自己画了个图分析了一下,原来刚好逆序(从小往大排序刚好遇到从大到小的一组数)的情况的下,快排每一轮都只做了一次元素交换(循环最后一个元素和基准元素),其他的都在和自己交换。。


sql优化

select * from Student where age > 18 order by score desc limit 10

根据题目描述,我口述了这么一个sql,然后问我如何优化。。

只不过我索引加错了,应该加 (age,score)的联合索引。。惊了。第一次听说单独无法命中,联合可以的。。

MySQL如何利用索引优化WHERE和ORDER BY的查询语句效率

项目经验

我觉得这个是最难说的,平常大都是业务代码,很少写什么很有成就感的容易让我印象深刻的东西。。。

—– 2020-8-15 13:54:46 ——
工作已经确定了,后面面得公司问的问题都差不多,就不写了。
此贴终结(狗头)