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

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

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


一、自我介绍


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


二、项目面试


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


后台系统 springboot mybatis

计算系统 spark

存储系统 hadoop hdfs mysql

简单说了下数据流程,后台与计算系统的交互数据。

因为是单机系统,没有采用rpc通信,采用的是传统的HTTP


2.2 前台有什么数据?


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


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


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


2.4 你为神魔要做这个呢?


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


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


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


二、算法


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


a8e04e7a896b49c8a6addf94b2a51b2c.png


三、面试


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 场景识别等等 具体部门入职以后的事情了


目录
相关文章
|
6天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
5天前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
7天前
|
存储 SQL 数据库
深入浅出后端开发之数据库优化实战
【10月更文挑战第35天】在软件开发的世界里,数据库性能直接关系到应用的响应速度和用户体验。本文将带你了解如何通过合理的索引设计、查询优化以及恰当的数据存储策略来提升数据库性能。我们将一起探索这些技巧背后的原理,并通过实际案例感受优化带来的显著效果。
24 4
|
6天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【10月更文挑战第36天】本文将引导您探索Node.js的世界,通过实际案例揭示其背后的原理和实践方法。从基础的安装到高级的异步处理,我们将一起构建一个简单的后端服务,并讨论如何优化性能。无论您是新手还是有经验的开发者,这篇文章都将为您提供新的视角和深入的理解。
|
8天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
21 4
|
7天前
|
监控 API 持续交付
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势、面临的挑战以及最佳实践策略。不同于传统的单体应用,微服务通过细粒度的服务划分促进了系统的可维护性、可扩展性和敏捷性。文章首先概述了微服务的核心概念及其与传统架构的区别,随后详细阐述了构建微服务时需考虑的关键技术要素,如服务发现、API网关、容器化部署及持续集成/持续部署(CI/CD)流程。此外,还讨论了微服务实施过程中常见的问题,如服务间通信复杂度增加、数据一致性保障等,并提供了相应的解决方案和优化建议。总之,本文旨在为开发者提供一份关于如何在现代后端系统中有效采用和优化微服务架构的实用指南。 ####
|
9天前
|
消息中间件 设计模式 运维
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在现代后端开发中的应用,通过实际案例分析,揭示了其在提升系统灵活性、可扩展性及促进技术创新方面的显著优势。同时,文章也未回避微服务实施过程中面临的挑战,如服务间通信复杂性、数据一致性保障及部署运维难度增加等问题,并基于实践经验提出了一系列应对策略,为开发者在构建高效、稳定的微服务平台时提供有价值的参考。 ####
|
10天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
32 4
|
9天前
|
存储 关系型数据库 Java
探索后端开发:从基础到进阶
【10月更文挑战第33天】在这篇文章中,我们将深入探讨后端开发的各个方面,包括基本概念、关键技术和最佳实践。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息和启示。我们将通过代码示例来展示一些常见任务的实现方法,并分享一些实用的技巧和策略,帮助你提高后端开发的效率和质量。无论你是想学习新的编程语言还是想了解最新的后端技术趋势,这篇文章都会为你提供有益的指导和灵感。让我们一起开启后端开发的探索之旅吧!
|
9天前
|
消息中间件 监控 数据管理
后端开发中的微服务架构实践与挑战####
【10月更文挑战第29天】 在当今快速发展的软件开发领域,微服务架构已成为构建高效、可扩展和易于维护应用程序的首选方案。本文探讨了微服务架构的核心概念、实施策略以及面临的主要挑战,旨在为开发者提供一份实用的指南,帮助他们在项目中成功应用微服务架构。通过具体案例分析,我们将深入了解如何克服服务划分、数据管理、通信机制等关键问题,以实现系统的高可用性和高性能。 --- ###
32 2