整体来说,百度体验感很好,面试官提前打电话预约了视频面试。

一、自我介绍

面试官您好,我是…,现在,,略,项目简介。

二、项目面试

2.1 你说说你的项目各个模块之间是如何交互的吧?

后台系统 springboot mybatis
计算系统 spark
存储系统 hadoop hdfs mysql
简单说了下数据流程,后台与计算系统的交互数据。
因为是单机系统,没有采用rpc通信,采用的是传统的HTTP

2.2 前台有什么数据?

省市疫情数据,周边疫情,最新官方消息等等

2.3 你觉得有挑战的模块是什么??

我觉得有挑战的一块就是 在计算系统里面,需要将每日的数据在Spark计算系统里面进行汇总,将今日的数据与昨日的数据进行更新,会出现很多差错。例如每个几秒就会更新一批数据,但是疫情的数据接口可能每天才会更新一次,需要调整一下时间,主要利用了批次计算的模块。【我觉得自己说的挺乱的,唉可能第一次面】

2.4 你为神魔要做这个呢?

嗯,这个是因为当时疫情期间,在家闲着,符合了当时的情景,就想着和同学组队参加个比赛,所以在天池大赛中去做了这个。

2.5 你做这个项目是你之前学到?还是用到了去学的?

是之前学的,大学期间一直在学Java后端,研一期间搞了一段时间大数据。所以就想着综合起来做了一下,想着运用到实际情况下,看一下。

二、算法

上来面试官直接让我干一道算法题 ,我当时做这个题目花了很多的时间,当时采用了一个HashMap+StringBuilder的方式,直接暴力,后来因为判断条件太多,之实现了一部分,题目没有做完,就和百度的面试官说,思路错了,后来面试管让我说用栈,【其实我一看到括号就想到了用栈,但是奈何之前,没有想到思路】具体原因LeetCode刷的少。

【个人百度一面】----Java后端开发岗位----【校招提前批】_linux

三、面试

3.1 平时对linux用的怎么杨,有没有经常去做一些命令开发?

我对开发用的少一些,主要是对一些程序进行部署,运维,偶尔调试程序,开发不是很多的。

3.2 如果程序死机,或者你怎么检测呢在linux?

我一般是这样做,一般ps一下,利用管道符,ps -ef | gerp 进程号 或者 ps -aux | gerp 进程号,查看一下进程的当前情况,或者top命令一下,看看linux监控情况。再有问题,直接查询日志,到log目录里面,去cat一下,一般是这样。

3.3 Shell写的多吗???【不会】

一般没写过

3.4 Tcp在数据传输时候会有神魔限制呢?

我觉得会有带宽的限制,Tcp在数据传输的hsihou,有时候可能网络会发生拥堵,所以采用了一个曼算法进行传输,一点一点 循序渐进的方式将滑动窗口的数据放大,主要是怕会拥堵。可能会有这样的限制。
还有呢?
我已近想不到了,我把keepalive机制简单说了一下,不知道算不算。

3.5 Tcp的3次握手以及4次挥手?

这个很简单,巴拉巴黎一直说完,哈哈。

3.6 说一下UDP与TCP的区别?

可靠性等等
这个简单,答完

3.7 说一下他们的应用场景?

简单,我还说了一下DNS在数据传输与协议转换的时候的用到的TCP与UDP的不通

3.8 HTTPS 与 Http的区别??

这个很简单,一大堆。

3.9 证书的作用是什么??

我说的是主要是做一个安全的认证,喇叭了一会,证书包含,IP 域名 网络的标识啊,合法,有效期等等

3.10 那你说说证书作用在哪一端呢?

服务端

3.11 ArrayList与LinkedList的区别?

这个就太简单了,正删改查都说了下,时间复杂度还有 底层

3.12 他们两个谁可以做队列??

当然是LinkedList 最先插入的元素将是最先被删除的元素;反之最后插入的元素将最后被删除的元素

3.13 讲一下线程池的工作原理,工作流程?

这个也简单,7大参数,还有流程也简单说了说

3.14 多线程开发经验有吗?

没有,我就是做一些Lock接口的练习

3.15 单元测试

这个,狗了,我居然没答好,我先说的时为了测试这一块代码的有效性,模拟操作
前面还好呢,后面

3.16 类A->B->C 模块之间的依赖,单元测试如何进行的???【题目答错】

我就突然想到了spring 的 bean的以来解决了,我有点,,,,说了个利用反射赖活着类的方法属性等等,,,擦 这不就完了
这个题目答错了,面试官给我解释完了
我一直嗯嗯嗯 哈哈哈。 最后明白了

3.17 redis做高并发又什么优势?

我说的是基于内存,还有单线程比较快

3.18 用过Redis什么数据类型?

String Set ZSet lIst Hash 地图Geo地理位置信息 Bitmap

3.19 ZSet的底层怎么实现的?【没答出来】

这个不会,我只是在会用的层面上 对这个。

3.20 Docker K8s会吗??

我对Docker比较熟悉,熟练使用,Docke网络啊r,还有Docker Compose , File,Swarm集群等等说了说。 说到这 面试官并没有深入的问我。

3.21 你这些都是从哪里学的?

我都是在网上看一写教学视频,还有去官网查相关的文档,然后去自己施展操作

四、反问

4.1 我问面试官,对我今天的印象还有看法?

技术上让我多练练LeetCode习题

4.2 我问面试官,您觉得我有机会进二面吗?

她说,这个的最后根据这一批人的情况,再选,这回给不了你答案。

4.3 我问主要做神魔?

说了一下百度的AI开放 对接公有云 私有云,有AI Orc 场景识别等等 具体部门入职以后的事情了