我的秋招笔记及总结

Article Directory
  1. 1. 我的部分学习资料总结
    1. 1.1. 刷题
    2. 1.2. 框架
    3. 1.3. 面经
    4. 1.4. Bilibili 大学
    5. 1.5. GitHub 大学
  2. 2. 我的面经
    1. 2.1. 携程(8/30笔试、9/9一面、9/14二面、9/16HR面、9/21英语测评,10/14OC,10/28谈薪,已签三方)
      1. 2.1.1. 9/9一面
        1. 2.1.1.1. 自我介绍
        2. 2.1.1.2. 反问:
      2. 2.1.2. 9/14二面
        1. 2.1.2.1. 自我介绍
        2. 2.1.2.2. 反问:
      3. 2.1.3. 9/16HR面
        1. 2.1.3.1. 自我介绍
        2. 2.1.3.2. 反问:
    2. 2.2. 同花顺(9/5笔试、9/15一面、9/30二面、10/10HR面、10/22谈薪)
      1. 2.2.1. 9/15一面
        1. 2.2.1.1. 自我介绍
        2. 2.2.1.2. 反问:
      2. 2.2.2. 9/30二面
        1. 2.2.2.1. 自我介绍
        2. 2.2.2.2. 反问:
      3. 2.2.3. 10/10HR面
        1. 2.2.3.1. 自我介绍
        2. 2.2.3.2. 反问:
        3. 2.2.3.3. HR介绍同花顺:
    3. 2.3. 中兴(9/8笔试、10/12线下一面、10/13线下二面,10/19谈薪)
      1. 2.3.1. 10/12一面
        1. 2.3.1.1. 自我介绍
        2. 2.3.1.2. 反问:
      2. 2.3.2. 10/13二面
        1. 2.3.2.1. 自我介绍。
        2. 2.3.2.2. 反问:
    4. 2.4. 经纬恒润(9/15笔试、9/5一面、10/10二面,10/27offer)
      1. 2.4.1. 9/5一面
        1. 2.4.1.1. 自我介绍
      2. 2.4.2. 10/10二面
        1. 2.4.2.1. keynote介绍,将近20min
        2. 2.4.2.2. 反问:
    5. 2.5. 浙江至控研究院(10/14一面(主管+技术),10/25谈薪)
      1. 2.5.1. 10/14一面
        1. 2.5.1.1. 自我介绍
        2. 2.5.1.2. 第一个有点像主管
        3. 2.5.1.3. 技术问题
        4. 2.5.1.4. 反问:
    6. 2.6. 邦盛科技(10/10笔试、10/11加笔试、10/13一面、10/13HR面,10/19OC,10/27谈薪)
      1. 2.6.1. 10/13一面
        1. 2.6.1.1. 自我介绍
        2. 2.6.1.2. 反问:
      2. 2.6.2. 10/13HR面
        1. 2.6.2.1. 自我介绍
        2. 2.6.2.2. 反问:
    7. 2.7. 华为(8/31笔试、9/24一面、9/28二面、9/29HR面,等)
      1. 2.7.1. 9/24一面
        1. 2.7.1.1. 自我介绍
        2. 2.7.1.2. 然后leetcode1190。
        3. 2.7.1.3. 反问:
      2. 2.7.2. 9/28二面
        1. 2.7.2.1. 自我介绍
        2. 2.7.2.2. 手撕代码,三数之和。
        3. 2.7.2.3. 问题
        4. 2.7.2.4. 反问:
      3. 2.7.3. 9/29主管面
        1. 2.7.3.1. 自我介绍
        2. 2.7.3.2. 反问:
    8. 2.8. 招银网络(9/5笔试、9/26一面、9/28二面、10/9HR面,资料审查)
      1. 2.8.1. 9/26一面
        1. 2.8.1.1. 自我介绍
        2. 2.8.1.2. 手撕算法
        3. 2.8.1.3. 反问
      2. 2.8.2. 9/26二面
        1. 2.8.2.1. 自我介绍
        2. 2.8.2.2. 反问:
      3. 2.8.3. 10/9HR面
        1. 2.8.3.1. 好快,自我介绍都没有。
        2. 2.8.3.2. 反问:
    9. 2.9. 兴业数金(8/11笔试、8/17二面、9/2HR面,资料审查一个多月了)
    10. 2.10. 滴滴测开(9/17笔试、9/26一面、10/9二面)
      1. 2.10.1. 9/26二面
        1. 2.10.1.1. 自我介绍
        2. 2.10.1.2. 反问,没有手撕吗?
        3. 2.10.1.3. 反问:
      2. 2.10.2. 10/9二面
        1. 2.10.2.1. 自我介绍。
        2. 2.10.2.2. 没有手撕。
        3. 2.10.2.3. 反问:
    11. 2.11. 去哪儿旅行Java后端(9/26一面挂)
      1. 2.11.1. 9/26一面
        1. 2.11.1.1. 自我介绍
        2. 2.11.1.2. 反问:
    12. 2.12. Keep iOS客户端(9/1一面挂)
      1. 2.12.1. 9/1一面
        1. 2.12.1.0.1. 自我介绍
      2. 2.12.1.1. 手撕代码
      3. 2.12.1.2. 反问:
  3. 2.13. 荣耀通用软件开发(9/6一面挂)
    1. 2.13.1. 9/6一面
      1. 2.13.1.1. 自我介绍
  4. 2.14. 顺丰Java后端(9/7一面挂)
    1. 2.14.1. 9/7一面
      1. 2.14.1.1. 自我介绍
      2. 2.14.1.2. 反问:
  5. 2.15. 美的(9/26一面群面)
    1. 2.15.1. 9/26一面
      1. 2.15.1.1. 自我介绍
  6. 2.16. 华数(9/28一面)
    1. 2.16.1. 9/28一面
      1. 2.16.1.1. 自我介绍
      2. 2.16.1.2. 反问:
  7. 2.17. 天正电气(10/11HR面)
    1. 2.17.1. 10/11HR面
      1. 2.17.1.1. 自我介绍。
      2. 2.17.1.2. 反问:
  8. 2.18. 迪普科技(10/12笔试、10/14一面、10/14HR面)
  9. 2.19. 后续不再记录

从7月17日,投简历到现在,没有细数,大概也有100+左右了,每天有一两场笔试,后期的话每天一两场面试。以至于做到后面,看到测评笔试属实都有点ptsd了🙈。

下面是学习过的部分资料,以及部分我的面经总结。

秋招笔记整理

我的部分学习资料总结

部分摘自 ztygalaxy

刷题

框架

面经

Bilibili 大学

GitHub 大学

我的面经

从7月17日,投简历到现在,没有细数,大概也有100+左右了,每天有一两场笔试,后期的话每天一两场面试。以至于做到后面,看到测评笔试属实都有点ptsd了🙈。

携程(8/30笔试、9/9一面、9/14二面、9/16HR面、9/21英语测评,10/14OC,10/28谈薪,已签三方)

9/9一面

面试官自己记错时间了,给我面试延后了一小时🙈。

自我介绍

Nginx反向代理是在第几层。

让你设计一个网站的文章的点击量排名,你怎么实现?首先肯定用zset,然后key、value怎么存储呢?我说value每次+1,面试官说不对。

GC的种类?我反问了是GC算法还是回收器种类?其实是YoungGC、FullGC,minorGC。

这些回STW吗?

linux了解吗?

查看CPU使用率?top

如何查看各个线程?ps -ef | grep java,这面试官问的,也没说查看线程id,问的都不清楚。

查看所有端口的信息?

计算机中使用什么码?

计算机网络?

三次握手?

四次握手,中间的二三次可以合并吗?

问我自己没有做过科研吗?额,我都说了两片SCI二区,一篇再投,第一个项目系统就是就是科研系统,然后在那边给他解释这个系统。他也有反问,我还是得把这个语言组织一下。科研里面花的时间比较多。

Dubbo的基本架构?用的比较少。Nacos和OpenFeign用的比较多。问区别。

反问:

机票部门的。

介绍了下业务,用redis、mysql这些。

9/14二面

34min。

自我介绍

数据查询,如果查询的数据有很多,有时很少,你怎么处理呢?我说的是可以使用limit来实现,但是limit很大的时候,会很慢。所以可以先seclet 主键id来实现。

然后面试官说,其实考虑的太片面的,也需要反向考虑下数据库怎么优化?比如主键用biginteger等等?

用redis如何做分布式锁 setnx+ex,然后问我为什么分布式中这样就能做到呢,不会出现问题,我说redis中执行语句是单线程的。又问新的版本中是多线程怎么处理?我回答的是新版本中多线程是对IO中写入语句的时候用了多线程,执行的时候是单线程。但是我感觉我忘了一个点,就是忘了说redis中执行setnx+ex这个语句是原子性的。 当然前面如果释放锁的时间太短提早释放了,那么就有问题,所以可以用一个lua脚本将判断是否是当前线程的锁和取消所(删除key)原子实现,这个没说,面试官直接问问题了🙈。

Redis的bitmap的位数,有限制吗?这个我不知道,没看过还得看看。

(redis中bit映射被限制在512MB之内,所以最大是2^32位。建议每个key的位数都控制下,因为读取时候时间复杂度O(n),越大的串读的时间花销越多。)

联邦学习项目中技术栈是不是有点杂糅?用python的话分布式不应该用啥啥啥吗?我说我其实就是一个rabbitmq通信的一个过程。

大数据及框架handoop了解吗?我说没用过,mysql,redis用的多一些。

Mysql的隔离级别,最高的是什么?我说blalala,然后串行化最高,解决了脏欢不可重复读,而且是串行的,可能效率有点低。

你的通信用的rabbitmq,那么在消息可靠性上如何保证?重复消息怎么办呢?

生产者到broker的confirm,bnroker到消费者的时候手动确认机制,持久化。当然如果kafka的话其实可以确认的时候给一个offset,避免了重复。(这个是面试跟我说的,说主要是想问下根Kafka的区别。)

目前有哪些offer了?

什么时候能来实习吗?可能得明年大论文交完吧🙈。奥,那还是个很遥远的事情哈哈。

有哪些意向,测试,数据开发,后端开发,可能侧开不是很好,但是数据开发和后端开发还是可以的。

中途面试官电脑还没电了,等了1min。

可能由于没有实习,都是自己做的一个项目,可能稍微弱了点,不过也没关系。

还说我说话有点谦逊🙈。哈哈

反问:

我反问面试官是什么部门的?机票的数据,向我介绍了一些业务。

我是二面吗?邮件上只给我发了让我面试,我也不懂几面?说了二面。

携程的话大部分的岗位应该都是在上海长宁吧?对的,就一个火车头的地方??其实我不知道哈哈。

9/16HR面

我了解到携程是一家1999年在上海创立的一家公司,就比我小了两岁。

它将传统旅游业与现在电子商务结合,目前我们可以通过携程酒店预订,飞机票火车票订购,景点门票订购等等,目前在17个城市有分支机构,可以说是出门在外不可或缺的部分。

之前我是用携程的时候,还关注到了他的图标是一只海豚,当时还去查了一下它的寓意,大致意思是:海豚一般亲切、友好和乐于沟通,是旅客可信赖的朋友。然后海豚向上腾跃,充满动感活力,体现了携程在移动互联网、云计算时代引领潮流。 觉得很有新意。

自我介绍

看你简历,后端项目挺多的,为什么报数据部门呢?都考虑,blablabla。

介绍介绍你自己的的性格,优点缺点。

你是说话慢性子的吗,看你讲话还慢条斯理的?嗯是的,但是现在稍微有点紧张。

选一个项目介绍一下亮点,还有难点,你在项目中扮演的角色。

没有去实习过吗?

跟同学们出去玩,你通常扮演什么角色?协调的还是提出建议的等等。

为什么选择携程?你是携程的忠实用户吗?

目前的面试流程有哪些?说到荣耀的时候说,目前已大部分都在荣耀池子里泡着呢?

家是哪里的,考虑哪里的工作地点。

我回答浙江湖州,然后考虑江浙沪多一点,然后北京这些地方呢,如果能带两三年再调回来是最好的。

然后面试官说先北京两年一开始在北京社保,后面落户上海不好弄什么的。

反问:

面试官您是机票部门的对吗?想问问机票部门内部的划分是怎么样的?每一个部门都是内部都有完整的小部门,blablabla。

内部对新人的培养是怎么样的。因为我们一开始进来的话可能需要一个适应的过程?blablabla。

后面还有面试流程吗?说了英语测评,然后过了的话会打电话什么的。前几年是六级过了不用的,但是今年都要。

其他的记不清了。

同花顺(9/5笔试、9/15一面、9/30二面、10/10HR面、10/22谈薪)

9/15一面

自我介绍

整个项目的亮点是什么?

秒杀的接口,你是有什么呢?具体的测试流程是怎么样的?

我说了一些优化,查看堆内存,更改堆内存的新生代和老年代的分配,从并发量550到600了。

项目中遇到的难点是怎么解决的呢?tcpdump是怎么找到的呢?我说一开始用的chales,发现不能通过端口看,然后网上查能看端口的,找到了tcpdump。

对微服务架构的理解。

Mysql数据量很大怎么优化呢?

我说了先优化表结构,然后索引问题,分库分表,redis缓存等等。

分库分表会遇到什么问题呢?你打算怎么解决?分库分表的话需要子查询,外键查询什么的了。然后我说了可以建立主从增加高可用性。他问我这个主从是只有分库分表采用吗?我说不是,我临时想到的。🙈

Mysql索引有多少种?(忘记回答组合索引了)唯一索引和主键索引的区别是什么呢?

事务的隔离级别?事务隔离级别中是用锁了嘛?我回答了序列化中肯定加锁,因为串行,然后可重复读的时候,通过间隙锁和记录锁解决幻读的问题。至于其他的我可能想不到了。

MQ使用场合?主要一个异步,解耦合,削峰填谷。

Rabbit如何保证消息可靠性的呢?我说了confirm,手动ack等等。然后面试官问我,如果生产者发送到broker的时候,broker返回成功了,但是此时宕机了,没有持久化怎么办呢?换个说法就是如何优化写入磁盘的操作呢?

平时怎么学习技术的呢?为什么想先看视频?有没有看过一些官方文档之类的。

准备的:如果是一个成熟的技术,我一般会先看视频为主,因为这个成熟的框架,在视频中别人已经把精华的东西给我们筛选了,而且看视频更容易理解。

然后可能回去看看官方文档,毕竟官方文档更全面,看了视频之后再看这个应该没什么压力了。

然后再自己动手代码实践的过程中,肯定还会遇到问题,那么这个时候就谷歌、stackoverflow、等一些博客搜索,有针对性的学习。

对自我的一个评价。优缺点。平时爱什么运动?

自己有没有有意识的关注过设计模式之类的,还是关注功能实现。

反问:

刚才的问题?如果Kafka优化持久化的?其实Kafka的写入用的是顺序写入,而不是随机写入,所以更快一点。

或者说同时发消息的时候先缓存,然后批量发送等等。

然后就是零拷贝处理啊什么的.

部门用的什么技术栈?Kafka,mysql,mangdb,springboot,spark,mybatis等等。

9/30二面

45min

自我介绍

发表的论文,具体说说。

研究生期间怎么安排的?

然后就是联邦学习系统,就是问的一些原理之类的。blablabla记不清了。

一些常规八股。

平时看过关于Java的一些书?设计模式,JVM,JUC,还有Java基础这些。

说说JVM的垃圾回收机制。

从可达性分析,引用计数。三种算法。两个回收器。老年代、新生代等方面进行了介绍。

Mysql的数据量自己用的时候多大?自己的挺少的,但是我知道对大数据量的一些优化。比如索引、缓存、分库分表等等。

分库分表如何实现的。水平和垂直。如果两个的话只能分成1/2吗?那不是的,但是不平均的话,可能会有数据倾斜等一些现象发生。

Linux操作系统了解吗?用过,一些云服务部署之类的做过。还有常用的命令之类的是了解的。

进程之间的通信?我就说了消息队列。其他的居然想不起来了。碎碎念了一些。问我共享变量可以吗?我说共享变量是线程之间的(麻了,下来一查发现错了)。

你说你用过docker部署一些东西?是的,就是这个现有服务的部署,但是比如说自己的本地项目用k8s部署什么的事没有做过的。

Docker部署和本地部署的区别?轻量,blablabla

想想这么一个例子(还以为大的要来了,结果是一道智力题目。)

如果要维护人的一个正常机能的运转,需要消耗多少度电,随意发挥。

一开始想法心脏消耗多少,脑子消耗多少,合起来。

然后又考虑了能量守恒方面,吃进去了多少东西,这些东西是需要多少度电的。

有看过一些底层架构之类的吗?我说HashMap的,关于SpingBoot的比较少,有时候只是一眼带过。

那你觉得看底层会有什么好处?

如果自己写代码的时候遇到了一个bug,网上有很难找到,那可能跟底层代码发生了一些冲入。或者说,了解底层的话,可能对bug的查找会有很大的帮助。

还有就是底层有很多优秀的设计模式,代码风格,这对于提升我们自己的代码风格和代码能力有很大的帮助。

了解同花顺吗?啊这。我以为只有HR面才问的🙈,麻了,就说了是一家金融的,稍微blabla。

职业规划?目前考虑走技术路线。blablabla,刚进入的时候,是从一个学生身份转变的过程,然后得向自己的导师同时学习,了解公司部门的各种需要了解的掌握的技术。然后后面就是提升自己的技术架构,

你是温州的吗?不是,浙江湖州的。

父母是干什么的?查水表呢🙈?哈哈哈。没事儿照实回答了。员工。国企吗?不是,一家上市企业,但是工资不高。

薪资?18k~20k之间吧。18k一下就不考虑了吗?我说,那不是向下浮动也兼容。

有offer了嘛?offer没有。那有意向了吗???问这么清楚?没有,两个池子在等。

以后想从事那个领域的工作?我说都行,金融的话我银行也投了,还是看岗位匹配度吧。

父母对你的工作的看法?让我留在杭州,最好是在杭州,当然还是看我整个个人的意愿。

反问:

部门具体内容?技术栈?一面没说技术栈吗?emmmm,隔得有点久了,我给忘了。

前面您说就是有没有想做物联网方面的研究的想法?是咱们部门有这个又要这方面的研究吗?

10/10HR面

52min,哈哈哈,hr面试也能面这么久🙈。

自我介绍

成绩方面的问题。

最近有看什么书吗?印象最深的内容?

平时是怎么学习的?视频、官方文档、博客。

这三个里面那个最重要,视频,占比很大,而且像我们平时上课,不也是视频吗,只是少了互动。

Bilibili真的资源很多,还看别的吗,抖音什么的?

嗯,bilibili居多,抖音还是我因为我看我爸妈在刷所以才下载的。关注了他们,他们发视频我也能点赞什么的增加一些交流。

然后还补充了,我觉得抖音的话可能相对而言被动,虽然有算法,但是你也不知道下一条是什么,就被动的刷了。bilibili的话是需要主动的,你想看什么,就去点什么。

近段时间有学什么新的东西吗?抛开技术?那就羽毛球,游泳呗。

平时除了运动,有什么别的爱好吗?

父母情况。

你觉得外面互联网中,让你觉得最好的产品。说了抛开智能手机,小米台灯。

对你影响最大的一个人?我说抛开父母之外,blabla

你为什么不想读博?

说出你的三个性格方面的词语?

说出你最喜欢的城市?

你投的城市有哪些。

目前投了大概多少?

有面试的有哪些?

有hr的有哪些?

你对这些公司怎么排名?

了解同花顺吗?

那里了解的?

有炒股、买基金之类的吗?

看好哪些领域啊? 我说芯片行业。

你希望公司中的同事是怎么样的?

能来实习吗?首先说很想来实习,然后blablabla

反问:

导师制度怎么样的?

后面大概多久会有结果?因为分批面试的,要等所有人都面完才会有结果,所以可能还要1~2周的时间。

HR介绍同花顺:

Tob、toc、ai智能三个部门方面,还有数据部方面。介绍的可太详细了。

然后薪资情况(不会打折扣等等)、加班情况(大小周、9点、弹性、10点以后可以报销车费)、环境方面(健身房等)。

“你可以加我一下微信,到时候方便联系。”

然后我直接问了微信,加了上去。

中兴(9/8笔试、10/12线下一面、10/13线下二面,10/19谈薪)

10/12一面

自我介绍

岗位地点

喜欢偏底层的还是偏应用层面的?

会计算机的什么课程?操作系统会吗?

排序有哪些?

二分排序会吗?我以为归并排序,原来是对插入排序的改进。

线程和进程的区别?

Linux用过哪些命令?

SpringBoot的启动过程。

Yaml和application配置文件的区别?

Python会吗?可变参数和不可变参数的区别?

科研项目是怎么样的?

反问:

忘了问啥了。

大概也就是部门技术栈吧。

10/13二面

2面也是两位,应该是类似于hr面,不过说的是主管面。

24min

自我介绍。

岗位,第三志愿怎么还写了成都?

薪资。

做的联邦学习介绍一下。

难点等等。很多忘了。

难点里面说了一个不能用socket的问题?知道我用ssh是怎么连接的么?

抗压能力怎么样?优点缺点?

有没有女朋友?

挺多忘了,大同小异。

反问:

忘了。

经纬恒润(9/15笔试、9/5一面、10/10二面,10/27offer)

9/5一面

自我介绍

整体讲讲这个联邦学习中控系统

讲讲放大众点评系统的内容,主要讲了Redis,我说了下一些数据结构,然后面试官问ZStack是干啥的?然后问了过期策略,淘汰策略。

RabbitMQ是干什么用的,我里面讲到了分布式事务,分布式事务具体是什么?有没有用阿里的senta?有没有用过kafkak?区别

为什么选择用ElasticSearch?他的索引结构了解吗?

Docker用过吗,如果开启docker,进入docker,查看docker的状态。

哎~,后面打电话说2面的,后面又说改时间,然后给我做了一个笔试就没有消息了,麻了我都。

09/30更新,今天中午打电话给我说,国庆上来,10号进行2面。

10/10二面

37min

keynote介绍,将近20min

第二个恐龙商城是学习项目,就没有问。

只问了联邦学习这个科研项目。背景、模型融合怎么实现的。

有参加过代码编程之类的竞赛吗?

只参加过校赛。

有刷题吗?

有很多,leetcode目前300+,现在的话刷笔试题目比较多,然后dfs、bfs、回溯、拓扑排序等等的都会。

看过什么书?

设计模式知道什么?

说出个人的优缺点。

还有一些忘了。

反问:

部门分类,业务。

我是哪个部门的。

新人培养制度,有导师制度吗?

浙江至控研究院(10/14一面(主管+技术),10/25谈薪)

10/14一面

52min

自我介绍
第一个有点像主管

哪里人?

对联邦学习的详细拷问,算法方面。

还有就是发表的小论文方面。

参加的竞赛之类的。

本科成绩等等,问了挺多,司空见惯的。

技术问题

第二个居然是女的技术人员

联邦学习的数据怎么传输的?

reis数据结构用了哪些?zset,bitmap有什么优点。

恐龙商城拆分的多个为服务?

redis的持久化?

nginx反向代理?

get和post区别。get添加会怎么样?

mysql的隔离级别?

索引的数据结构?

索引挂什么数据?

spring的ioc和di?

di和面向切片区别?

全局配置文件?

从全局文件读取数据用什么注解?

注解有哪些?

类加载的过程?

垃圾回收的算法?

反问:

是湖州的吗?

为什么官网没这个岗位?

工作时间?

公积金?

湖州子公司的研发人员的规模?

邦盛科技(10/10笔试、10/11加笔试、10/13一面、10/13HR面,10/19OC,10/27谈薪)

10/13一面

自我介绍

Redis了解哪些?比如说说RDB,主从同步的过程。

Fork用来dump的子进程,和本来的线程的内存关系?我没看,我说有一个写时复制技术,面试官说差不多这样。

Redis为什么用单线程还是这么快?比mysql快了一个量级。因为基于内存。瓶颈只要来自网络IO,所以多个线程执行命令快不了多少。后面虽然引入多线程,只是在IO的时候引入了多线程。线程切换比较消耗内存。多线程的话会有安全问题。

nginx了解多少。

常用的排序知道哪些?

经典的快速,优缺点说了?然后问正向排序还是反向排序复杂度是O(n2)的?我说了逆向,其实都很差。

我们现在看一下快速排序的时间复杂度。如果每次分划操作,左右两个子序列长度基本相等,则效率最高,其最好的时间复杂度为O(nlogn)。反之如果每次分划操作产生的子序列其中一个为空,则快排效率最低,其最坏情况为O(n2),这种情况发生在原始正向有序和反向有序。平均时间复杂度为O(nlogn)。

还有就是堆排序,归并排序、冒泡排序等等。

NIO和BIO了解吗?

ES了解多少?倒排索引?

小论文大概讲了什么?

联邦学习的背景等等。

你说租的GPU服务器不能用socket?这个稍微讨论了下,我感觉我讲的不是很清楚。下面梳理一下。

网上租的就是一个GPU和机器学习环境的linux系统,的一个docker容器。然后ssh连接的时候端口也映射出来了。相当于我只能在这个docker里面操作,而不是docker外面操作,所以端口映射什么的都出不来的。

然后问这不搭建 了个系统吗?然后主要是拿了下考官的笔,稍微讲了下算法。

有offer吗?

其余的忘了。

反问:

部门划分?到时候如果进入了,是去您的部门还是统一分配?

Blablabla讲了些风控的例子,然后说看了我的简历还是挺希望我去他的部门的。(不知道是不是官话?)

培养制度,导师制。

后面还有几轮面试?

说不知道我是两面还是三面?然后让我先去外面等着,第二面HR面是肯定有的。(后面才知道这个人是个技术总监)。

10/13HR面

自我介绍

哪里人。

学java以来,遇到的最大的困难。

技术上的难点?说了机器人万向轮方面。

了解邦盛吗?金融风控公司。然后把一面的面试官跟我说的,银行卡交易的钱0.1s要做的所有的事情说了一下。

然后说报了了岗位,java、java交付、测试,说测试你也愿意来吗🙈。然后这里我就反问了,java和java交付有什么区别呢?

这里跟我说了好久,整套流程都说了。

研究生都做了些什么?

最早能来实习的时间?写的明年4月。

有offer吗?

其余的都类似,也记不清了。

反问:

公积金?9.6%,按照80%的工资的12%来的。

部门的划分?说跟上面我说的流程中的各个职能对应。

工作时间?

有没有休闲场所?健身房等?

后面说,上一面面我的是技术总监,不知道还要不要下一面面试?

然后后面跟我说,面我的不在,到时候准备线上,就先回来了。

华为(8/31笔试、9/24一面、9/28二面、9/29HR面,等)

9/24一面

自我介绍

全程只有一个八股,就是笔试前问的一个,说一说,缓存穿透雪崩击穿的由来,以及解决方案。

一上来问,都是自己的学习项目啊?什么什么的。然后就挑了个科研项目问,商城直接无视🙈。

然后问科研项目。说说项目的背景,实现方式。

然后针对我说的分布式的功能,中控系统的功能,细节深入交流了一下。

面试官自己最后说出了整个他的理解,我稍微修正了一下其中的一个点。

后面我加了句,可能这个系统主要实现功能为主,一些系统稳健性,rabbitmq消息的丢失等问题没有考虑,下面两个项目考虑了。

这时候面试官就说,那你这个系统里面,如果其中一个节点宕机了,但是中控需要等到所有节点都完成才能进行下一轮,那不是阻塞了吗?我说我当时是没考虑,但是这个是有办法解决的。借鉴其他的集群系统中的心跳方法,每隔一段时间发送数据,然后分布式节点得到消息后,返回带着自己特有ID的消息,就知道目前存活。如果超时时间内收不到,那么在重发几次(因为可能网络等原因),如果发现了问题,要么抛出异常日志,要么告诉管理员,或者写一个重启脚本来重启,或者最直接的,不要他了。

然后问论文,论文的背景,主要让我讲一个应用场景。blabla

然后时变因素是什么,具体一点。blablabla,引入了TEG,基于此提出了两个算法。

算法里面的路径算法。

然后leetcode1190。

写得有点久了,写完总的时间一小时都多点了,然后讲了一下思路,直接反问。

反问:

有点忘了。

部门业务,技术栈吧?

9/28二面

自我介绍

项目一个个来,妈耶!考了很多业务场景题目。

总的来说,都能说出来一点,但是总感觉自己说的不好,因为没有遇到过呀。

首先看第一个项目🙈。

整体的流程是怎么样的,rabbitmq的发送是怎么样的?

其中某一个宕机了怎么办,如何处理呢?心跳,前面的一面,问过。

放大众点评里面用到了很多redis。

Redis分布式锁是如何使用的?setnx + ex,+lua脚本的判断

为什么说setnx是原子性的,远离知道吗?我只说了因为他是单线程的。

然后问set求共同关注。

我说,利用set集合的求交集,可以求得。

那如果不是两两求交集,而是我自己,要跟很多人比,求出与很多人的共同关注最多的,那数据量不是很大吗?怎么办呢?

我当时说了点其他的,然后想了一种曲线救国的方法🙈,借鉴redis的key的删除机制(每次随机取出一些key),每次随机取出一些用户,然后比较,而不是全部比较。然后每次更换部分随机用户。

ThreadLocal用过吗,内部原理是怎么样的?

每个Thread维护一个ThreadLocalMap,然后以该ThreadLocal这个对象为key,去取值。

然后会有一些内存泄漏的问题,具体讲了一下。

那你说说强引用和弱引用的区别,弱引用我貌似有点说错了。

然后说你不是说,ThreadLocal是线程之间隔离的嘛?那如果需要线程之间访问同一个东西怎么办呢?

我说了自己遇到过开辟另一个线程远程调用的时候没有cookie的信息,然后放到一个共享的HolderContext里面,然后另一个线程拿到,然后进行远程调用。

最终一致性,利用RabbitMQ是如何实现的呢?

我说了主要是库存的问题,blablabla,然后用了延迟队列,如果最后有订单没有那个啥,那么自己释放。

好像此处还有点什么,忘了。

手撕代码,三数之和。

我看题目的时候,说了下题目的归纳,抽象了一下,就是一个数组里面找n个数字,然后和需要为target,求所有的方法。

那这样的话,我肯定用回溯做了。然后问了我时间复杂度。

后来才想起来,三数之和,先确定一个,再双指针啊。

问题

然后手撕代码很快,10min最多,然后看时间好像还有,就又开始问我问题了。

如果一个消息被重复发送,如何解决?我说这是一个幂等性问题,用一个唯一的ID,或者分布式锁解决。我觉得虽然没问,但是我也可以强调一下kafka的offset机制可以避免重复发送的问题。

那如果消费者收到消息,然后消息处理到一半,还没有处理完一些数据库的消息之后,宕机了怎么办呢?

我blablabla,一开始还没反应过来,以为就是重复消息的问题。

后来才知道首先消息需要回滚,我也说了回滚,但是忘了把分布式这个词数出来了。

反问:

技术栈

最后一个问题怎么解决?分布式事务呀,seata什么的,哎呀后悔了。

9/29主管面

50min

自我介绍

看起来下面的问题很少,聊了足足50min🙈。

全程 科研项目,问清楚过程,然后提出自己的看法,比如跟分布式机器学习,模型泛化性等等。

说说某个项目的难点。

然后就问平时有什么爱好?

都是别人叫你出去玩吗?被动的还是什么?

对半开吧,很多事情都是相互的。

希望公司是怎么样的?

可能在物质方面什么的,给不了互联网这么多。还有可能相比其他互联网而言blablabla。

我说没关系啊,核心价值观等等的输出。

然后你来我往。

然后说虽然华为现在有了很大的成就,但是其实周其实很长的,你会动摇吗?

以考研举例。

反问:

导师制,培养制度,资源情况。

工作时间。

招银网络(9/5笔试、9/26一面、9/28二面、10/9HR面,资料审查)

9/26一面

自我介绍

自我介绍的时候,说到科研项目的时候,稍微问了下这个是自己的毕设,还是什么blabla等等。

然后该面试官主要是对,科研项目里面的联邦学习系统进行了询问。

整体的一个背景,和流程。然后再问再答,直到了解。

然后提出分布式设备实时更新数据怎么实现的?这样是不是有问题呢?上报,直接更新到数据库。直接连接吗?是的。这样的问题?

然后我又说,这个项目做的比较早,当时可能对一些东西没有很好的掌握优化。

问我那你现在觉得你这个项目有什么问题?

我说了三点

1、分布式设备上报数据不能直接连接。最好后台给出一些上报数据到数据库的接口,让分布式设备调用。

2、rabbitmq做的时候没有做到数据持久化,可能有丢失。生产到broker和broker到消费的确认机制是做了的,但是broker本身的持久化没有做,可能会导致数据的丢失,首先要做持久化,然后需要做主从,这样一个丢失也能保证消息还在。

3、分布式节点的宕机问题。心跳检测。然后后面的重启脚本啊等等。

然后就是一些常规八股。有点记不全了,今天四场笔试,全部笔试完了再来记录的,没有太多时间。

HashMap是如何保证安全的?

我说HashMap有安全隐患,得用ConcurrentHashMao或者HashTable才行。

讲讲ConcurrentHashMap的内部实现?

数组+链表/红黑树,然后细粒度的元素锁,然后CAS和Synchronize混合使用。

讲讲CAS乐观锁出现的问题?

我说了一个CPU自旋,很浪费CPU。

但是其实还有ABA问题,以及只能对一个变量进行乐观锁操作。

问了我数据库会用什么?mysql和redis。

mysql的having,是什么用途?

我当时说的是,用在group by筛选后面的,对一个数据进行分组之后,然后用having进行条件判断。

然后还有的话,可能忘了。

手撕算法

给你很多个区间,合并重叠的区间。

剑指 Offer II 074. 合并区间

我当时使用的是,一个优先队列,每次第最前面的,然后和后面的合并,如果重合,融合在于后面一个判断是否重合;如果不重合,直接加入ans。

然后我又提出了一种方法,就是枚举1~n这个最大值,判断每一个是不是都在区间里面。因为整数,感觉确实可以。

反问

部门,技术栈。

刚刚的CAS还有什么问题?

9/26二面

自我介绍

Mysql的隔离级别。

各自解决了什么?你自己实践过吗?完了,只能说没有了。

那里面的数据表的设计,是你自己设计的嘛?

这个问题是我说了前端代码是网上有的,之后,他问的,麻了,早知道我不说了,多嘴。

前面还有些忘了。

创建线程的三种方式?为什么要有这么多创建线程的方式,我说了扩展性好,然后Future的那个有返回值。

你用过线程吗?提交订单的时候,需要开多个异步线程。

给你一个基本有序的数组,用什么方式排序?我自己思考了快拍冒泡等等,然后说插入排序可以最快,因为每次是对有序的数据进行排序的。

然后问我对时间复杂度和空间复杂度的了解?

我说主要是时间复杂度主要是根据数据量的规模来的,看for循环,递归什么的。貌似对此回答不是很满意。

做项目中遇到的最大的困难。

然后问了一些计算机网络的。

说一说一个url输入到页面显示的过程。我都说了。

三次握手和HTTP请求是一起的吗?啥意思没太理解。

我回答的是,需要先三次握手,然后才能发送HTTP请求。

里面有提到DNS,问我DNS用到的协议?这个没回答出来🙈,才知道是UDP,之前没怎么看。

然后就是给我一个场景。手机上登了微信,电脑上要扫描二维码登陆,整个流程怎么设计?这个我看过的,说了。

那么这个二维码需要包含什么内容了?我只知道需要有关电脑的唯一标识。然后一开始没有账号信息,二维码也不用存。

问我投递这个岗位有什么优势?从掌握很多技术栈,然后性格方面阐述。

觉得自己是一个什么样的人?优缺点方面阐述。

你是做过移动端的是吗?我说了做的蓝牙app,然后与机器人通信,达到了控制和调试的功能。

你们学校在招银的多吗?(然后面试官直接在电脑上查了,说蛮多的🙈,麻了竞争对手多啊)

然后就是是想留在杭州吗?我说是的,能进招银更好。哈哈

反问:

技术栈

部门

感觉没有一面答得好,主要是一开始的实践过吗?为什么要这么多创建线程的方式,没答好,但是只能实话实说了,然后心面感觉会有影响。

10/9HR面

招行总行信息技术部下的子公司。

相比于其他银行系统,它在计技术、薪资福利方面肯定是第一梯队的。

相比于其他互联网公司,又不是那么紧迫,属于是一个权衡了。

这是我认为的理想的工作。

独立、积极、锲而不舍、善解人意、创新

20min

好快,自我介绍都没有。

问湖州人,选的岗位的地点,和公司。

是一般偏向于金融方面的科技刚比较多一点吗?是的,相比于互联网方面,更加的平衡。

那你对于公司的一个工作强度怎么看?

其实来说,对科技岗位加班还是常态的,我觉得一般9、10点都没问题。

介绍了一下他们公司的工作情况,你觉得符合你的语气吗?

我觉得很符合,毕竟现在在实验室,每天差不多都要10、11点多才走。

问了下本科、研究生的成绩。

有获得国奖吗?没有,获得过浙江省政府奖学金。

本科期间是电子信息科学与技术的?

培养计划是我们班主任定的。是的,软硬件对半开。软件方面、python、java等等都学过。

那你python什么的也用吗?是的,现在研究生阶段机器学习的话得用python。

所以java用的是最多的吗?也不是,我自己的科研系统,就是用java搭建的后台。

反问:

部门划分、进去之后随机分配吗?

按照匹配度之类的,统招。

进去之后的培养制度?有导师制度吗?

今年杭州这边后段的hc多吗?与去年差不多。

我觉得差不多已经是一个很好的水平了,毕竟今年很多公司都在缩招。

转正的百分比?

宿舍情况?没有。没事,我也就是问一下,其实很多互联网公司之类的也都是没有的。

然后说了如果后续通过的话,会有一个资料评审,然后评审结果1~2周出来,主要看是不是资料都是真的。

问了下成绩单一定要盖章吗?

兴业数金(8/11笔试、8/17二面、9/2HR面,资料审查一个多月了)

滴滴测开(9/17笔试、9/26一面、10/9二面)

9/26二面

自我介绍

分布式锁和幂等性?用了redis的分布式锁解决了幂等性,然后blablabla。

问我setnx的key只用用户吗,那不是别的场次该用户也不能抢了吗,ttl是怎么样的?

提出了用订单作为key,下来后我想了想young当前商品的id+用户id来实现。订单key的话貌似也行。

削峰填谷的问题?Rabbitmq来完成blablabla,然后其实我很害怕他问数据一致性的问题了,属实是ptsd了🙈。

RabbitMQ如何解决分布式的?死信+TTl,最终一致性。主要就是订单取消了,那么需要解锁库存。然后订单支付了或者那么就不用解锁了。

如何解决超卖问题?redission信号量,第三方的。

然后我解释的时候用了redis里面放值,然后每次查询,减。

并发安全?Lua脚本实现原子性质。

当然我前面说的redission的信号量是第三方的,其实原子性什么的都已经考虑进去了。

然后面试官突然想到,那有时候有些场景,我可以有超卖一点东西。因为大家下单了,也不一定会支付。

我其实有点难以理解,因为玩意都支付了怎么办呢?

然后后面面试官说,主要是先信号量可以设置多一点,然后动态调整这个库存,就是在秒杀的过程中,如果下订单支付订单是很多的,那么动态减小,如果很多人都其实不支付的,那么动态增加。

我补充说,我想到一种,再支付的时候在判断库存,没有的话就不让她支付。

面试官说,极端情况可以。但是体验非常不好。

问我消息中间件看起来rabbitmq用的多呀我说是的,还有什么吗。我说了解kafka。

区别?

Kafka吞吐量大,一般高吞吐量的都用它

Rabbitmq路由更加灵活,同时执行速度很快,us级别,比kafka快。

我当时用这个是因为kafka配置更加麻烦一点,还有zookkooper,而rabbitmq只需要ocker部署即可。

有一些想不起来了。

为什么想到这几个学习项目呢?

然后问我看你Java技术栈掌握的挺好的,为什么想到来测开呢?

主要的意思是权衡了今年的竞争压力,感觉还是得诚实一点。

我们这边其实跟你的技术栈是很符合的,blablabla。

你觉得你做侧开有什么优势吗?或者说你觉得测开是怎么样的?

我讲了很多,但是面试官讲了更多,真的挺好的。

主要有一点,我懂一些技术栈,所以可以更好的做一些白盒测试等等。

然后说,看你字里行间,还是测开是第二志愿呀。

我说,能做测开我也做的。因为。。。说不出来了🙈,工作不好找呀。

反问,没有手撕吗?

本来是准备了的,看聊的比较久了,然后也挺好的,就没了。

准备是准备了的,拿来一题吧,讲讲思路。(md,多嘴了呀🙈)

海量数据,数据的内容只有int整数,给你一个数据,如何查找最快?

一开始没有太懂,以为就查询一次,直接一个个查询呀?

说是以后每次给你,查询都要快。

我先说了先用归并将数据排序,然后每一段数据标志出这段区间的数据,然后二分。

面试官说,你考虑是一个32位的整数,可以考虑数据压缩吗?

啊奥奥,用一个很大的2^32的个数的二进制书,如果数字n存在,那么相应的位置置1。

反问:

部门,技术栈。

做石油能源的貌似。

10/9二面

37min

问的挺多,不难,面试官人也挺好的,没有为难。

自我介绍。

你也知道你报的是测开岗位,对测试开发的了解。

Blablabla,当然也诚实的说了,可能后端了解的更多一些。但是也可以更好地进行白盒测试。然后权衡了今年就业的竞争压力,所以投了滴滴测开,我挺想进滴滴的。

黑盒白盒的区别?

联邦学习的运用场景?

难点?

有了解过kafka吗?为什么不用呢?

介绍了两者的区别。然后说考虑到rabbitmq的路由的灵活性以及传播方式,然后kafka的部署稍微复杂一点。

怎么想到做性能测试了?

你有没有想过并发量是550之后,有没有考虑过是什么限制了并发量?

我说了redis的内存不够?本地电脑CPU不够?等一些问题。然后又补充当时的秒杀已经做了很多优化了:rabbitmq的异步,削峰填谷,单一微服务,nginx动静分离等等。

(我感觉可以这么说:我知道其实做优化,最主要的还是代码层面的优化,然后就是逻辑方面,这一些我当时都已经查了很多资料做好了,比如rabbitmq异步,nginx动静分离等等,然后我就考虑是不是redis的内存不够了?cpu性能问题等等?当然一开始是说了JVM的对内存调优的)

性能测试的时候有没有遇到一些bug之类的?

给你一个场景,比如登陆,需要账号密码,你考虑哪些一些测试用例?

mysql的慢查询?

讲了如何开启日志?然后索引方面?

然后讲了如何解决就是分库分表,慢查询之类的。

为什么索引比不索引快?因为排好序了,二分查找呀。

索引底层怎么实现的?也是B+,顺序,类似于二分查找。

Redis的击穿问题?讲了由来和解决方案。

Hashmap的查询时间复杂度?O(1),最坏情况呢?O(logn)或者O(n),看数据是链表还是红黑树?

Hashmap线程不安全,会带来啊些问题?数据覆盖,1.8以前由于头插法扩容时候的死循环问题等等。

项目里面的难点?

介绍了恐龙商城的调试。

没有手撕。
反问:

到时候我过去的话,是去哪个部门,统分的还是跟你一起的部门?

脚本的话用什么语言?都可以看自己。

部门的业务?

技术面一共几面?

去哪儿旅行Java后端(9/26一面挂)

9/26一面

足足1h,因为面试官在一个地方集体面试,太吵了。

自我介绍

介绍完了之后问我消息队列的削峰填谷是怎么做的?

我说前面部分与redis打交道,完成redis库存的减。然后这一部分算完成了,你把这个信息发送给消息队列,后面专门有一个消费者,来处理后面的订单完整的创建的过程。就是前面与redis打交道,后面与mysql打交道。

然后说,那会不会产生redis和mysql不一致的问题呢?

(有一说一,这里面的一致性到还真的没有考虑。)当时我没回答好,说什么分布式事务,会回滚什么🙈,其实分布式事务不在这里。

然后面试官说,就是这其实是一个看谁的问题,就是最终保持与redis一致,还是与mysql一致?

我说这里应该得看与redis一致,然后问我怎么一致?

我先说了先写数据库,然后删除缓存。🙈

他说你不是要与缓存一致吗?怎么做呢?就是缓存覆盖数据库的过程,是在业务执行过程中覆盖呢?还是业务执行完了覆盖?

我说如果可以的话,对业务进行回滚,在覆盖🙈。

但是貌似不对。然后又思考了一会儿,回答不出来了。

(哎,感觉就是前面的说错了呀。首先这里面我觉得一开始产生不一致的源头的搞清楚。因为这里面前面处理redis,后面处理mysql,如果产生不一致,那么可能是后面的消费者处理的时候,出现了问题,所以需要有消费者ack确认机制等等。是吧,然后他问的几个别的问题稍微思考下吧。)

联合索引六个例子,判断,为什么⑧也符合最多原则?优化器优化。

(我自己说一下对上面这个的见解。就是说,如果秒杀的时候,rabbitmq发的异步消息,然后rabbitmq宕机了,那怎么办,redis的缓存库存和mysql不一致了呀?

那我觉得宕机了,那肯定首先是要对rabbitmq做主从,做到高可用,让他能够保证最终一致性。然后就算如果真的宕机不一致了。因为这是秒杀跟库存有关,而不是一般情况的读多写少的缓存商品库存的场景。感觉还是得需要做到看缓存,而不是看数据库。那如何最终同步呢?最终库存为0同步就行了吧。??)

然后给场景,一只有一个打印机,如何处理高并发的请求。

我说一个队列放需要打印的东西,然后有一个epoll的多路复用技术,可以并发的监听。

说不要说底层的,得说实际代码能用的。

我说创建线程池,去接受请求,然后请求的数据放入队列中,开一个另外的线程打印。

那么问题来了,另外的那个打印线程,怎么样监听到数据呢?就是难道一直CPU轮训吗?

我说countdownlatch,或者线程有数据后发送信号给打印队列,打印队列进行打印。

给你三个线程,如何等待三个线程完成,在干别的事情呢?

我说用join,主线程创建,然后join。

他说如果线程数目很多呢?

我说可以用signal,都满足之后,再进行下一步。countdownlatch。

反正面试官给我的感觉总是我不对,但是我感觉好像对的呀🙈。特别的上面的那个join,说了很多他好像不知道这个join的语法🙈。

问了我单例模式有哪几种,我说了饿汉懒汉。 然后出了常见的还有双重检查,静态内部类,枚举来实现。然后枚举可以有效的避免被反射和序列化。

手写单例模式,volatile拼写不对,不过单例写出来绰绰有余。

然后就是sql语句,写出每一个班级的最高成绩的同学名称。

我用了group by having score = max(score)

看得出他不想让我这样写

又问了我如何写每一个班的前两名成绩的同学。

我打算用group by后面orderby得到前两名,但其实是不行的

后面没有写出来,而且用limit也不对,因为limit只能拿到所有的前两名。

后面反问问了面试官,然后说需要over函数,rownumber函数等等,这就确实有点超出我的范围了。(后面我自己学了,确实是简单的。)

然后问我实验室都干了什么呀,我说科研,然后这个中控系统是我做的。一篇论文是在物联网的基础上发的。

然后问是不是代码敲得比较少,我说这个中控系统是我做的,还有挺多的python内容等等,字里行间还是缺乏实战经验。

然后问,给你一个场景。我是机票部门的嘛,问你给你所有城市之间的连线,求两个城市之间是否联通?

我说这个的话首先建图,然后利用并查集,求出所有联通图。

然后他说,是求出比如A到B的路径?

那我说建图,BFS呗。

八股这是其中一个,另外的想不起来了?

讲讲ConcurrentHashMap的内部实现?

然后说如果用concurrentHashmap,首先get,然后value+1,再put回去,会有什么问题?

我说了覆盖,然后具体的覆盖的流程也讲了。

然后说为什么会出现呢?

Emmm,我说可以同时读引起的,不过看面试官表情应该是不对🙈。

反问:

部门,只有北京吗,技术栈。

然后问他前面那个sql,看起来sql还得看看啊,哎~

Keep iOS客户端(9/1一面挂)

9/1一面

自我介绍

首先问了些项目联邦中控

传输的时候问了协议,我用的第三方中间件rabbitmq的

蓝牙的项目

然后iOSUI等一下稍微底层一点的

http中get和post,post也能代替get嘛

线程和进程的区别

线程的并发

float在计算机中怎么存的

手撕代码

给字符串,去收尾空格,中间只有一个空格,然后单词倒叙。

双指针On

反问:

我准备面试iOS还需要准备点什么呢?对view等等还是需要深入一下里面的信息传递等等。

部门用oc还是swift?

感觉还能问一下我面试iOS这个项目够了吗,还是太浅层了?

荣耀通用软件开发(9/6一面挂)

9/6一面

自我介绍

面的有点尴尬,感觉前端居多

首先redis,商品类别怎么存储的redis中,如果增删改怎么解决(一致性问题的解决),如果要加四级目录怎么办。

Nginx反向代理怎么配置的,反向代理跟正向代理的区别是什么,nginx可以配置正向代理吗?

ElasticSearch用的多吗?用了什么,如果用户没有搜索到,那么需要做一些词语的相似性,同义词,

OAuth的认证登陆过程,登陆完毕之后,如何获取微博上面的用户信息等的内容也要说完。

顺丰Java后端(9/7一面挂)

9/7一面

感觉大部分都能回答出来,良好,不知为啥挂了。

自我介绍

Mysql中如果给你一个慢查询,你考虑怎么优化?

给你十个字段,怎么考虑加索引?

如果一个字段很多不重复的,但是几个null,可以加索引吗?

MVCC讲一下

索引下推是什么?

分微服务的原则是什么?我说的是功能。然后说秒杀肯定是要单独分一个的,然后原因。

然后问我这12个是不是太细了,我说确实有点,毕竟那个时候远程调用的调试起来也有很多问题的。

Redis怎么做的持久化?

Redis的集群和哨兵机制的区别?

Redis能做队列吗?

Redis的发布订阅机制?

Redis如何批量处理key,我说了pipeline。然后问pipeline内部原理?这个不知道了,然后我说批量处理还有一个数据类型可以实现的,但是有限制,但具体忘了哪一个。

Dubbo和openfeign区别?这个没有问,我说的用了nacos和openfeign,没用dubbo🙈哈哈哈

看我简历里面的异步编排使用不同线程带来的问题(还提出了本身就是自己内部,为啥还要远程调用的时候拦截呢?)

幂等性的问题(我说了重复提交的问题,然后说redis的setnx+ex加lua脚本来占位)

前后端分别限流怎么完成。(拦截微服务,是网管转发还是自己拦截)我自己要考虑。

ElasticSearch用来干嘛呢?ElasticSearch数据类型主要用的哪些呢?

rabbitmq怎么做持久化的?

反问:

有几轮面试?

可以问一下面试官是哪个部门的吗?

想问问公司用的技术栈,kafkka还是rabbitmq等等。我说了rabbitmq可能更快一点,然后是优化后的数据结构,但是Kafka吞吐量更大,专注于核心功能。

美的(9/26一面群面)

9/26一面

emmm

三个人的群面,给我整不会了🙈。

自我介绍

首先进去,两个题目:

1 海量数据,使用到的技术以及场景。

2 智能家居的使用场景,怎样可以更好?使用哪些技术。

Emmm,首先我们就是对海量数据,的存储问题。分布式,底层技术等等。

其次,对场景比如抖音、商城、银行等等海量的数据,同时可以利用海量数据算法推荐。

然后就是智能家居的各类场景,灯、扫地机器人、智能电视等等,可以使家电之间进行联动,通过智能音箱来进行控制。但是,各个公司之间协议不同,所以其实还是有很多的困难的。然后说,可以用上机器学习技术,学习每个人每天的生活习惯,可以不手动设置任何功能,但是又处处能在恰当时刻出现需要的功能。然后后面又说了一些计算机网络、声纹识别、人脸识别等技术。

最后,说了下,智能家居中也会有很多数据,这里面会有很多的隐私保护问题,然后需要去解决。

华数(9/28一面)

9/28一面

自我介绍

Java的循环方式

ArrayList和LinkedLIst区别

创建线程的几种方式

Java的Socket用的多吗?我说直接用这个socket用的不多,成熟的框架直接帮我们封装好了。

那说说用Socket的成熟的框架。我说了Netty,介绍了一下。

Mysql的一些锁,用过哪些锁?我说行锁、页锁、表锁。然后很多指令自动加锁,比如MVCC的可重复读。

Mysql优化查询?explain,慢查询日志,分库分表等等。

Redis的基本的数据结构。

Linux部署Tomcat的指令?我说一般都用Docker部署,具体指令可能忘了,还有SpringBoot里面内置Tomcat。

那说说Linux下的一些基本的命令使用。ps -ef、top、netsta、jps、jmap、jstack等等。(查看日志是什么,我没说🙈)

对华数的了解?

你觉得你的匹配程度。

三年来的一个规划。

反问:

我报的湖州的,你们是杭州的吗?初试统一面。

湖州的话,华数有三线两区嘛?可以自己选吗?只有吴兴区的。

期望薪资?

你是湖州人是吗?

说是十月下旬才会有初试结果。

天正电气(10/11HR面)

10/11HR面

19min

自我介绍。

期望薪资,期望岗位地点。然后我以为这个岗位杭州的,所以直接说了杭州,麻了有点绷不住了,算了算了。

宣讲会有听吗?emm,可能做笔试面试什么的错过了。

成绩怎么样的?

父母对工作地点岗位的要求?

说说自己的优缺点。

说说一个人自学能力强应该具备什么特点。

说说IT这个岗位应该具备什么特点。

对公司有了解吗?诶呀,没怎么看。说没有🙈。

反问:

公司IT系统大致是做什么的?其实也细分:运维、开发、网络安全等等

然后说13号有一个空中宣讲会,可以去听听。

迪普科技(10/12笔试、10/14一面、10/14HR面)

后续不再记录

Author: Jcwang

Permalink: http://example.com/2022/10/14/%E6%88%91%E7%9A%84%E7%A7%8B%E6%8B%9B%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/