BOSS直聘推荐搜索系统工程师校招面经

2024-01-23 11:04

本文主要是介绍BOSS直聘推荐搜索系统工程师校招面经,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  本文介绍2024届秋招中,BOSS直聘推荐/搜索系统工程师岗位一面的面试基本情况、提问问题等。

  12月投递了BOSS直聘推荐/搜索系统工程师岗位,并不清楚所在的部门。目前完成了一面,在这里记录一下一面经历。

  首先,这一次的投递就是在BOSS直聘这个APP上直接投递的,没有走官网投递的流程;在这个阶段(秋招都要结束了),再去网申的话我感觉意义也不大,所以一般就是看看BOSS直聘上合适公司、岗位的HR发来简历邀请(可能是当初找实习的时候用户活跃度非常高,所以在APP上这大半年都一直会有HR发邀请的),如果有相关邀请并且感觉可以试一试的话,就会申请推进流程。

  这一次面试和秋招的第一次面试(百度搜索的机器学习、深度学习算法岗位)一样,是算法方向的面试,所以可以明显感觉到面试官对于实习经历、项目经历都不怎么提问了,而是直接就问算法方面的内容——当然,这个也和我比较偏向于开发(主要是算法学不会),所以实习和项目经历都是开发方向的工作有关。其中,面试官主要提问的算法内容多数都是和数据结构有关的,主要集中在数据结构元素搜索的时间、空间性能优化方面。虽然感觉算法方面的面试是真的很难,但是也确实感觉这样的面试很有意思,自己会绞尽脑汁地回想当初刷题时,那些高赞题解里都用到了哪些算法思想或者优化技巧——而如果是开发方向的面试,那么提问往往都是集中在实习和项目经历方面,感觉自己都快要背下来了,没有算法面试有意思哈哈哈哈。一场面试下来,也确实收获到了很多新的内容与知识。

面试情况

  • 上午10:00开始,持续25分钟左右。

  • 线上视频面试,1位面试官;面试官很和蔼。

  • 首先做自我介绍;提问25分钟。

提问问题

  • 本科、研究生阶段都有哪些项目、实习经历?
  • 研究生阶段和阿里云合作的项目是什么样的?是什么类型的项目?大致做了些什么?
  • 数组链表有什么不同?各自有什么特点与优势?各自的应用场景如何?
  • 对于一个有序数组,在其中查找某一个值,最低的时间复杂度为多少?此时是用什么方法来查找的?对于一个有序链表呢?
  • 对于链表中数据的查找,如何优化其时间复杂度?对于一个链表,将其数值和位置以哈希表的形式保存,这个保存的过程具体如何实现?这个过程的时间复杂度如何?
  • 对于一个有序的链表,希望加快其查找数值的速度,有什么方法优化?
  • 是否了解“跳表”这个概念?
  • 两个无序数组,如何找到二者中元素的交集?时间复杂度如何?是否可以优化?你提到在哈希表中加以查找,此时查找的时间复杂度一定均是O(1)吗?如果这两个数组的某一个或者每一个数组中,有重复的数据怎么办?
  • 哈希冲突是如何解决的?时间复杂度如何?
  • JavaC++ 中,有哪些和哈希表有关的数据结构?其各自的底层实现是什么?为什么红黑树可以实现哈希表?
  • 两个无序的数组,如何找到二者中重复(既在数组A中,又在数组B中)的元素?
  • 一个有序的单链表A,含有100万个结点;希望构建一个新的链表B,分段地保存A中的部分结点,从而优化A中查找元素的性能;那么你认为B应该每隔多少个结点保存一次A中的结点?如果B保存了10万个结点,那么基于B查找A中任意一个元素,平均查找的次数为多少?
  • 个人的职业预期与规划是如何的?

算法题目

  • 无(这里是指没有手撕算法代码的题目)。

面试结束反问

  • 这一岗位对于机器学习、深度学习算法方面的知识是否有要求?
  • 这一岗位更侧重于算法的研发(数学方面),还是算法的落地(开发方面)?

反馈情况

  • 面试已经结束1个多月,暂无任何回复,肯定已经凉了。

欢迎关注:疯狂学习GIS

这篇关于BOSS直聘推荐搜索系统工程师校招面经的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636185

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析