面试日记Day 3

面了两家互联网,第一家是做游戏,回答的不好一些问原理、底层的问题没答上来,第二家是做健身的其app端招后台。

简单记录一下还有映像题目:

第一家

笔试部分:

  • 有两题sql题,考察sql语句
  • 实现一个斐波那契的输出函数;
  • 实现一个用两个线程实现交替输出数字,如A线程输出1,接着B输出2,直到输出50;

面试部分:

  • HashMap的实现方式,内部原理,使用了哪些数据结构
  • 在使用hashMap时一般要重写类的哪些方法,为什么

重写equals和hashcode,面试官问为什么重写hashcode时要一并重写euqals,这里答的不好,正确回答查了下应该是:当两个对象 equals 比较为 true,那么 hashcode 值应当相等,反之亦然,因为当两个对象hashcode 值相等,但是 equals 比较为 false,那么在 HashMap 中会产生链表,影响查询性能。只重写hashcode不重写equals就会让hashMap里增加链表影响性能。

  • 遍历集合类时做删除操作是否安全,应该怎么做

这里回答的太失败了,知道是不安全,但需要怎么做居然卡壳了答不上来,应该是用迭代器删除。

  • ArrayList与LinkedList区别,是否为线程安全,要如何实现线程安全
  • springCloud有哪些组件
  • eureka作用是什么,怎么用的,怎么实现它的功能的

这里面试官不断的循序渐进,问题不断的深入,基础不扎实很容易被问倒。面试官的问题思路一般是这东西有什么用,怎么实现的,为什么这么用。例如我简历上写着某项目里有用Hbase存储文件,面试官就问我为什么拿hbase存,当时这是之前技术经理设计的方案,我只知道他们说过日后文件持续增长并之前有使用过,所以用hbase做分布式存储。但面试官问mysql也可以存文件,也可以做集群、分布式为什么不能用mysql存呢。这个问题之前并没有深究,对hbase也只是简单用过,所以根本答不上来。这次面试也是抱着试一试的心态,不通过也是情理中的,看来未来的学习之路任重而道远。

第二家

这家没有笔试,直接面试

  • jdk提供的线程池有哪些,实例化线程池时影响线程数量参数有哪些,参数意义是什么
  • 当设置线程核心线程数时,是否一初始化就会有这么多数量的线程
  • HashMap底层实现是什么,有到了哪些数据结构(总结下来面试都很喜欢问集合类的原理)
  • sql的查询优化怎么做(指mysql)
  • mysql的索引原理是什么
  • mysql的索引里面存的是什么

这个没研究所以一时答不上来,思索后回答索引存放着该字段哈希或者摘要转化后的序列值,面试官又问索引里面存放着什么,于是回答可能是数据的地址值如数据存放的硬盘地址。实际面试官应该是想考聚集索引和非聚集索引,聚集索引的话索引存放的是数据本身,非聚集索引存放的数据的地址值,索引非聚集索引需要查询索引拿到地址值后再去取数据,这也是MyISAM和InnoDB的一大区别。这个问的回答是勉强擦了边。

  • spring主要提供了哪些功能
  • spring AOP运用了哪些设计模式
  • springCloud的这种rpc框架实现基础是什么,还有了解过哪些rpc框架

回答:序列化与反序列化功能

  • JDK动态代理、CGLib字节码生成技术代理,两种代理技术的区别
  • 为什么jdk代理只能代理接口
  • 分表分库的情况下,怎么做有过滤条件、排序的分页查询且能更好的提高性能

因为我上家公司有用到过类似的分库的手段,将数据按时间顺序‘分库’存储在不同的Solr中,但看之前的代码处理是直接取所有数据,然后前端分页。既然面试官这么问了,肯定不能说前端分页这种暴力的手法,于是分析说最普通的方式是去所有库把数据捞出来分页返回,这是最耗费性能的方式,我们可以通过缓存的方式或者是个布隆过滤器,先命中缓存看命中的数据在哪些库中,再去数据库里取,减少直接取数据的次数。面试官又问还有其他方式么,想了一会回答暂时只能想到这些,面试官说没事,其实在第一次取出数据排序返回第一页时就可以知道剩下页数的数据存放的位置,根据这些位置直接取对应库中取。

大概就是这些问题,然后聊了一下之前的项目。接下来是一个技术负责人面试,就简单的聊了聊然后问你想知道什么,我就问了下该岗位的职责与工作内容。然后是HR面,聊了挺久的然后问了期望薪资然后加了微信说之后会通知结果。

这个面试官面试方式还是挺有趣的,很多问题我在第一时间并没有给出标准答案,但他会给个提示或者等我说出分析过程,引导我往他想要的那个方向,比那些直接问原理要结果的方式体验会好些。

之后到他们下班的点问HR结果如何,回答 :‘项目组还要考虑下’。emmm....因为今天是周五了,只能等下周结果了,今天是跑累了,回去休息~

等待几天后询问hr得知1-3年的岗位暂缓招聘了,不知道是不是真的。

接下来又面试了一段时间,大概花了一个月,最后入职了一个做聊天app的互联网公司。除去清明回家了一周,找工作一共花了3周时间,平均5次面试拿一个offer,面试过程中面试题目大同小异,一般先问java基础、框架使用原理,然后根据项目经历提问,一般问你用到的技术的用法、原理。有些面试还会考察一些简单算法,可能只有2年经验,面试官也没提一些特别难的算法题。感受就是大部分公司都希望你有高并发、大数据量、分布式的开发经验,也希望你有互联网相关、支付相关的经验,因为上家是企业级开发,这些都是欠缺的,接下来的工作中要好好积累相关知识、经验。面试真是一个随缘的过程,运气好遇到你了解的题目你可以和面试官侃侃而谈,不幸遇到盲点就有点尴尬了,所以面试也是个发现自己有哪些不足的好方式。最后也祝各位找工作的小伙伴可早日找到心仪的工作~

《宾馆客房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆客房管理的实际业务场景。 C#是微软开发的面向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界面、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界面(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储客房、预订、客户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“客房表”“预订表”“客户表”等,包含客房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:客房管理,可展示、添加、修改、删除客房信息;预订管理,处理预订的查看、新增、修改和取消;客户管理,存储和管理客户个人信息;查询功能,支持按客房类型、价格范围、预订日期等条件查询;报表和统计功能,生成入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界面,方便用户完成预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界面开发的综合实践案例,有助于提升开发者在数据库应用和系统集成方面的能力。
yolov12-pyqt5-gui识别扑克牌的花色和点数-检测游戏开发和娱乐应用+数据集+训练好的模型+pyqt5可视化界面包含pyqt可视化界面,有使用教程 1. 内部包含标注好的目标检测数据集,分别有yolo格式(txt文件)和voc格式标签(xml文件), 共1285张图像, 已划分好数据集train,val, test,并附有data.yaml文件可直接用于yolov5,v8,v9,v10,v11,v12等算法的训练; 2. yolo目标检测数据集类别名:poker-cards(扑克牌),包括 10_Diamonds(方块10)、10_Hearts(红心10)、10_Spades(黑桃10)、10_Trefoils(梅花10)、2_Diamonds(方块2)、2_Hearts(红心2)、2_Spades(黑桃2)、2_Trefoils(梅花2)、3_Diamonds(方块3)、3_Hearts(红心3)、3_Spades(黑桃3)、3_Trefoils(梅花3)、4_Diamonds(方块4)、4_Hearts(红心4)、4_Spades(黑桃4)、4_Trefoils(梅花4)、5_Diamonds(方块5)、5_Hearts(红心5)、5_Spades(黑桃5)、5_Trefoils(梅花5)、6_Diamonds(方块6)、6_Hearts(红心6)、6_Spades(黑桃6)、6_Trefoils(梅花6)、7_Diamonds(方块7)、7_Hearts(红心7)、7_Spades(黑桃7)、7_Trefoils(梅花7)、8_Diamonds(方块8)、8_Hearts(红心8)、8_Spades(黑桃8)、8_Trefoils(梅花8)、9_Diamonds(方块9)、9_Hearts(红心9)、9_Spades(黑桃9)、9_Trefoils(梅花9)、A_Diamonds(方块A)、A_Hearts(红心A)、A_Spades(黑桃A)、A_Trefoils(梅花A)、J_Diamonds(方块J)、J_Hearts(红心J)、J_Spades(黑桃J)、J_Trefoils(梅花J)、K_Diamonds(方块K)、K_Hearts(红心K)、K_Spades(黑桃K)、K_Trefoils(梅花K)、Q_Diamonds(方块Q)、Q_Hearts(红心Q)、Q_Spades(黑桃Q)、Q_Trefoils(梅花Q)等 3. yolo项目用途:识别扑克牌的花色和点数,用于游戏开发和娱乐应用 4. 可视化参考链接:https://blog.csdn.net/weixin_51154380/article/details/126395695?spm=1001.2014.3001.5502
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值