程序员晨曦成功跳槽B站,三太子敖丙分享大厂面试经验与心得

2025-02-14
来源:网络整理

有感受和实用信息。在微信上搜索[第三王子AO Bing],以跟随该程序员一点点东西。

本文已包括在内,包括完整的测试要点,材料和我的一系列文章,以供一级制造商进行访谈。

上周我浏览手机时,我看到26个小组疯狂地恭喜。我以为发生了什么事。事实证明,进入B站。我还浏览了祝贺,然后私下与他聊天。

我仍然记得他,因为他给了我很多有关视频的建议(尽管我很长一段时间没有录制过采访视频),然后他更加专心。

他以前一直很满意,但发现他的朋友毕业后才20岁以上,然后换了工作,直接去了30岁以上。他被惊呆了。大型工厂和大型工厂之间的差距是如此之大。他以为他以前有很多东西,所以我也知道他已经准备很长时间来改变公司。

怎么说,我不会谈论细节。现在结局很好。我也希望他可以继续穿着明亮的衣服并辜负他的青年时期。我稍后将分享他的评论,希望每个人都能获得一些东西。

2021.5.20一侧:(几个小时内通知第二侧)

1。自我引入(工作状况,项目概述,使用了哪些技术,您负责的是什么,您擅长的是什么,您擅长于什么,您的优势是什么)

答:你好,领导者;我叫**,我于2016年毕业于****大学;毕业后,我曾在的一家医疗软件公司工作。我既完成技术前端,数据库和项目部署购物中心;旧项目仍然是MVC,新项目已与前端和后端分开,前端使用H5,Mini程序,VUE,VUE,The后端使用.NET 4.5、4.6,Java,使用,中间件使用消息队列,公司是核心发展角色,负责旧项目的维护和二级开发,并且类似于其他发展。与此相比,我的优势在于我的强大沟通技巧,我的责任感和学习能力也相对较强。如果我很幸运能够加入B车站,我相信我可以迅速融入团队并迅速掌握公司的相关技术;谢谢领导者。

2。介绍您完成的项目以及您在工作中的定位

答:我负责维护一些旧项目,例如购物中心,商人的后端,内容管理,广告,建议后端,游戏后端和接口;外部开发平台界面;新项目包括应用程序插件,奖牌和其他项目;旧项目这是主要发展角色。新项目通常是项目负责人的角色,负责项目表结构设计,任务安排和分配,并夸大了部门之间的协作计划。

3。辞职的原因

答案:1。我已经工作了5年,并且在我的技术中也遇到了瓶颈。我现在要做的大多数事情都是重复的添加,删除,修改和检查。我希望改变环境并扩大我的技术和视野。我也希望了解更多并更新。技术

2。尽管我在工作层面上得到了晋升,但很难在工作层面上晋升,因为公司的领导者都是6或7岁的员工,我也希望担任管理和发展职位。

基于上述两个原因,我想更改平台。

4。未来计划是什么?

答:在1 - 2年内花费了大约半年之后,我熟悉该公司的技术堆栈和业务,并花费一年多的时间来积累,深入学习所使用的技术并始终关注学习新技术;如果两年内有机会,我希望我可以做到发展管理职位并亲自领导团队。

5。是结婚还是住,现任公司在哪里?

答:我已婚并定居在上海。我的公司目前在上海北部外行。

2021.5.27双面(技术):(三边的通知)

1。设计表结构时应考虑哪些问题

答:我们目前正在使用的数据库是

(1)设计表时,您必须首先注意表字段的可扩展性。例如,可以正常使用性别领域。 true适用于男性和女性。但是,如果未知,请尝试避免使用Bool类型。您可以使用它。 int类型或枚举类型;

(2)其次,需要考虑表的可维护性和可读性。例如,主表中有一些带有奖品信息的字段。如果有多种类型的奖品,甚至有多个奖品,我将在此处选择一个独立的表。它通过现场协会存储奖品信息,而无需在主桌字段中选择该信息

2。关系数据库和非关系数据库有什么区别?您现在正在使用哪个数据库,为什么?

答:关系数据库包括,非关系数据库包括,

(1)存储格式是关键,表单,文档表单,图片表格等,因此可以存储基本类型,对象或集合,而数据库仅支持基本类型

(2)数据库将数据存储在缓存中,并且关系数据库将数据存储在硬盘中,因此自然查询速度远低于数据库

(3)关系数据库可以轻松地使用SQL语句在一个表和多个表之间进行非常复杂的数据查询。

(4)关系数据库支持交易,并且非常安全

我们存储大量会员数据,每个月都有超过1亿个订单和日志数据,因此我们选择一个非关系数据库

3。您了解数据库查询优化吗?告诉我如何优化(相关索引)

答:您可以首先检查查询分析仪中语句的执行时间,分析该语句是否使用索引以及索引是否生效。

(1)尝试避免 *,查询需要哪些字段

(2)可以将一些公共数据首先获取到内存,然后将其直接采用,而不是每次使用时将其从数据库中重新占据。它主要减少数据库交互并提供性能。

4。谈论索引(群集索引,非簇索引,关节索引,最左侧匹配原理,非簇索引需要返回到表查询)

答:索引分为群集索引和非簇索引。使用非群集索引查询通常需要再次回到表查询,因为非群集索引存储了主密钥ID,而群集的索引查询就像一本书的目录。使用索引可以迅速找到某个部分。如果未索引区域数据,则需要全表扫描;也有多个字段形成一个关节指数,通常符合最左侧匹配的原理。

以模糊匹配,野生型前沿不经过索引和野生型,以上或关键字不会通过模糊匹配,野生型前线

5。如果您使用非群集索引,如何不返回表? (来自A的ID)

答:如果仅查询ID,则无需使用非群集索引返回表,因为ID存储在非群集索引上。

6。为什么使用索引后查询效率高?

答:这涉及索引和数据的结构。它类似于书的目录页面。该索引通过B+树的结构存储数据。水平数据越多,垂直高度越低,与磁盘的相互作用越少以及查询速度。越快

7。你使用过吗?您的项目中的用法方案是什么?告诉我你正确理解的

答:我们的项目中使用的方案不多,通常用于存储计算数据。我们通过BI统计计算的一些数据需要很长时间才能计算每次。这些数据可以存储在其中,并设置有效期为一天。请稍后访问。更快

类型的类型是类型,HSAH,可用于购物车场景,列表,瞬间显示,设置,常见朋友和ZSET排名;

前端能开发软件吗_小程序开发前端能做什么_前端能开发程序做小程序吗

因为数据在内容中,所以查询很快,但是它将通过RDB和AOF持续存在数据

RDB是指定时间间隔的数据集的快照,它在特定时间点保存数据集。

AOF文件是仅执行附加操作的日志文件。

通常,当暂停数据恢复时,将使用它组合。首先,使用RDB恢复特定时间节点的数据,然后使用AOF数据恢复数据。

8. Java项目已完成了多长时间?您可以独立构建Java项目吗?

答:我刚刚与Java相关的项目接触,并且使用了大约2个月。我指的是其他项目。该框架是由建筑师构建的。我们主要编写业务代码。目前,我们无法独立构建Java项目,但我在盲目的日期给了您。当您在某个时间学习时,您可以独立完成该项目。

9。您有什么要问的(询问了开发语言和项目概述)

答案:1。我想知道我们的项目是关于什么的(某些内部库存和其他系统)

2。我们使用的开发语言是什么(主要使用Java,也有一些与GO语言有关的)

2021.6.7三个边(项目):(三天内通知四个侧面)

1。介绍您当前的研发团队的情况(产品,运营和维护,前端开发,后端开发,测试)

答:大约8种产品,3个操作和维护,1 dB,10个前端,25个后端和10个测试

2.这家公司现在从事什么业务?您负责哪些项目?

答:这是一个在线购物中心系统。用户方主要是H5和Mini计划,该计划将为购物中心提供一些功能,包括商人活动,折扣,集体购买等;它提供优惠券,问卷,一些游戏和其他功能; I的主要项目是后端购物中心商人的维护和次要开发,内容管理,插件集成后端销售,游戏后端,开放平台接口到外界等等。

3。告诉我一个从0到1的项目,您在项目中承担什么角色?

答:前端时间做出的奖牌项目的功能是在花费一定金额后完成任务后点亮相应的奖牌,并付款。用户端使用MINI程序,背景页面上的VUE和背景接口上的Java。我承担的是项目负责人的角色

(1)根据产品提出的要求和UE设计项目的表结构

(2)根据需求将任务细分为特定的负责人,并控制整个项目周期(大约1个半月)

(3)提供基本的控制数据;开发核心业务逻辑,开发VUE页面和Java界面的演示页面

(4)跨部门协调和项目部署

4。如果要求您进行一个可以再次改进的项目,您认为可以优化什么观点?

答:我的帐户经理项目之一需要跨表查询。当时,领导者提供的解决方案是在上侧建立视图。仅版本.6及以上支持的视图,查询效率很慢。如果您再次这样做,我认为它可以用关系数据库替换。因为多个表可以与查询关联

前端使用框架,该项目的前端使用HTML+本机JS。这里的动态查询写了数百条DOM元素操作,这是耗时和劳动力密集的。

5。如果要求数组找到最大数字,该怎么办?

答:如果减少空间,则可以使用气泡排序来找到它;如果减少时间,则可以使用二分法或段来找到最大的作品,然后再找到它。

6。如果我们现在想建立一个库存系统,您如何设计表结构以及设计哪些表格

答:库存表中包含的字段包括项目的类别,名称,数字,初始数量,剩余数量和其他信息;

分配表中包含的字段包括人员信息,包括手机号码,微信ID,名称等,项目类型,项目名称,号码

还有一些分配记录表,日志表以及记录分配和修改信息,这些信息对于以后的库存统计信息很方便。

7。公司购买了一批计算机。新员工加入计算机后,他扫描代码以确认收据。您如何实现此代码(在后台设置收件人信息,扫描代码以确认在微信上)

答:您可以将微信小计划组合起来,以将计算机分配给员工进入计算机,并在后台输入相关人员。收到计算机后,相关人员扫描代码以确认领导者的计算机。扫描代码后,他们可以通过微信授权他们获取人员的相关信息以及在后台输入的信息(姓名,手机号码,微信ID等);如果相同,请修改背景确认字段参数,请提示并通知相关人员(如果不一致)

8。您有什么要问的(询问团队的人员情况)

答:我们目前有几个团队,我们要招募多少人?我们的内部项目已经启动了吗?

2021.6.16四个侧面(部门主管):(一周内通知人力资源部门)

1。谈论公司的人员结构,您的职位和角色

答:见3次1

2.如何解决项目中遇到的困难以及如何避免它们

答:去年,当我来上海两周后,我刚从家工作。我工作的客户经理项目将在线。当时,测试环境几乎完成了。当我将其发送到在线测试中时,我发现数据只能读取而不编写,因为测试环境数据库是一个,并且有多个在线大师和奴隶。由于这是一个新项目,因此仅在4.6或更高版本上支持该视图,因此驱动程序已升级到最新信息,并且在线信息很少。我咨询了相关信息和问题。在阅读了相关的源代码后,我的同事发现我需要添加一个参数将其写入主库。在中间大约花了大约3天,但是推出后一周,另一个部门的负责人告诉我们,官方网站再次升级,现在可以直接完成。我使用了它,无需添加该参数。我可以认为,当时我们升级的最新驾驶员是官方网站发布的有问题的驱动程序。一周后,他们解决了它并发布了最新的驾驶员。这是我遇到的一个更困难的陷阱。

为了避免将来避免此类问题,我们必须使以我们自己的软件包稳定运行并将问题上传到公共文档(Wiki)(Wiki)。将来,其他部门的同事也需要使用驱动程序,我们可以在内部使用它。驱动力避免了不可预测的事故。同时,我们的测试环境的生产环境应尽可能一致,以避免某些问题在启动后发现它们。

3。如何在项目中连接(对接前端,第三方,其他后端应用程序)

答案:(1)大多数项目已与前后两端分开。我们已经将接口写为后端开发,以提供前端开发的文档,其中包含特定的接口地址,传入参数,传出参数以及其他不清楚的领域,以分开交流。向下

(2)与第三方连接,我们提供了一个统一的外部文档地址,该地址提供接口地址,加密方法演示,客户端DLL,呼叫示例(Java .net等),传入参数,传出参数等。

(3)内部调用其他背景接口。通常,另一方为客户提供。客户端中有输入参数和返回值。如果没有客户端,则需要根据另一方提供的输入参数调用接口。

4.如何在日常生活中与同事交流

答:我认为在工作,除了责任和工作能力外,最重要的是沟通技巧,这取决于人的个性,而更多地取决于沟通技巧。

(1)不要以不知道您有事的态度与我交流。我不知道你是否无事可做。我通常需要正常沟通。如果有人有事要做,我会问你是否有事要做。即使您不承担任何责任,我也会帮助您回答而不延迟其他事情。当我早上上班,晚餐时聊天或经常与我的小组中的人或有良好关系的人共进晚餐时,我会向您打招呼。如果彼此不认识,也可以聊天,这样,当您以后交流时,它非常简单,并且作为程序员,建立连接也很重要。如果您不在同一家公司中生活,则可以与彼此的技术问题进行交流。如果您想以后更改工作,也可以推荐彼此的内部支持。

前端能开发程序做小程序吗_小程序开发前端能做什么_前端能开发软件吗

(2)分享更多,这可以是您掌握的工作或技术知识点的经验。当然,人际关系更多地是关于材料共享。作为计划员工,薪水并不低,因此不在乎数十美元。 ,通常购买一些小吃,水果等,然后我周围的人发布。俗话说,人们认为无论如何您都是好人。前一段时间,我必须第一次收到Java的消息队列,但是我没有做到,但我做不到。我正在寻找爪哇建筑师。他很忙,总是敷衍,或者给我发送一些链接以阅读它。我仍然无法应付。当我看到他下班后晚上吃外卖时,我会买。去喝一瓶饮料:“春兄弟,喝一瓶饮料,并说我服用的队列仍然存在问题。请帮助我看看是否有时间。”果然,第二天我写了一个演示,然后去了我的计算机来帮助我正在跑步和完成。

5。未来的计划

答:我想在掌握现有业务技术的同时,在1 - 2年内学习越来越多的更新技术;如果您有机会,您还希望做发展管理职位;俗话说,一个不想成为将军的士兵不是一个好士兵,如果您以后有机会,我还将独立领导团队。

6。辞职的原因

答案:(1)所使用的技术并不新鲜,我在公司工作了大约3年。现在,其中大多数是业务代码,它们被复制和添加,删除和修改。现在,我想改变环境,联系不同的技术和企业并了解更多东西

(2)我目前的同事已经在公司工作了很长时间,并且相对稳定。目前,我想担任开发管理职位,并有很小的机会加入当前公司。我也希望,如果我在新公司掌握了现有业务后有机会,我也将能够做到这一点。上;

7。当前的薪水是多少

答案:n*14

8。你想问什么

答:我们的主要开发语言Java是吗?因为我这样做,中间有一个过度学习的时期吗?

2021.6.25小时面:(该报告将在早上支付,薪水将在下午5点讨论)

1。告诉我您最值得谈论的项目,场景是什么,周期多长时间

答:我已经完成了奖牌项目。成员花费一定金额后,将点亮一些奖牌。您可以在奖牌墙上看到一些奖牌的照明进度。例如,我准备在今天购物后回去看看我的奖牌墙。其中有一枚奖牌显示990/1000。如果您再花10元,可以获得这枚奖牌。然后,我将再购买10元来促进会员消费;

该项目的背景是销售已经完成了PPT并出售了几个项目。他们已经与公司签订了合同,因此我们需要紧急发展,大约一个半月的周期。我是项目经理。

2。随后的计划是什么?

答:见四个5

3。您和那些非常迅速晋升的人之间有什么区别(学习能力的差异,但勤奋可以弥补您的弱点)

答:我认为我们大多数人都具有相似的智商和学习能力,但是总会有高等教育,快速学习,强大能力和快速晋升的强大人员。我和他们之间一定有差距,但是我认为这些肯定是您的资本,但是我们的学历和能力很好。此外,我们愿意学习,我们还可以朝着一定方向或某种技术成为天花板。最近,“说谎的平面”一词很受欢迎。我不同意。我觉得,即使今天的人们,尤其是美国程序员,也无法成为某种技术和时代的领导者,他们也必须成为这些最新技术的学习者,跟上时代的步伐,并不断学习,以便您可以改进您的价值。

4。预期的薪水是多少?过去一年的薪水流寄给我

答:预期的薪水为28K

5。过去,它们都是遥远的。今天,我们来这里主要是为了检查工作环境,熟悉这条路线,并以负责任的方式相互见面,并补充微信。

最后,在2021.6.28中花了一个多月;

尽管我的薪水已被封锁,并且没有达到我的期望,但这是可以接受的,因为我在去年年底被提升为工资增加。我说我只增加了半年的薪水。事实证明是14,但现在是15。总合同增加约为30%。 6个月,每天15顿饭,8:30之后将提供加班费

成为常规

面试准备

1。找到一些小型公司面试和练习,找到您的感受,总结并计算您不知道的问题,然后去寻找相关的材料来学习相关的知识点。在过去的两个月中,我接受了大约10家采访的公司,总共收到了3家商店,但其中有很多商店,但是我们正在准备将来做好更好的事情。

2。我如何准备

(1)首先,您是简历。遵循“三个王子Ao Bing”,并有一个简历模板。在参考下,我参考模板并修改了该模板。然后,我在找到了字节的内部推荐人员,他将再次帮助我。简历上的一些问题给出了建议

(2)提交您的简历。我使用老板直接招聘。您还可以使用招聘,内部建议等。

(3)学习知识点。我下载了CSDN,并关注了一些博客作者。我还可以搜索其中的相关知识点。如果我寻找视频,我通常会在软件中找到相关的视频。该算法通常是“如果您想在“ ”和“ ”中编写问题,还可以找到有关CSDN和文章的一些参考;

我在前面做准备。当B车站为第二侧做准备时,我特别告诉人力资源,我将准备一个星期,然后准备第二侧。本周,我的节奏是早上起床,在地铁上找到一篇文章。观看系统的知识点视频。

例如,到达公司后,我正常上班,下班后,我还在地铁上观看视频,到达家后,并列出了我不知道的知识点。我主要观看了Ao Bing在上采访的视频。 II观看了3-4次,我只是第一次传递了它。当我遇到不知道的知识点时,我第二次录制它。稍后我检查了这些信息,因为一些答案没有一个,我不确定面试官是否回答了。问题的准确性和完整性吗?我第三次主要学习访调员的风格。他给我的感觉是自信。他回答了他冷静的任何问题,即使他不知道他不知道该怎么问的问题,他说他不知道该怎么问你。不要感到厌恶,学习他的逻辑和说话速度。

我第四次带我的妻子听他们的话。我会用自己的答案告诉我的妻子这些问题,甚至做一些补充。她是一个前端人。我将举个例子。如果我清楚地教她,我想我掌握的应该没事。晚上上床睡觉之前,我还将观看视频,直到我入睡以加深我的印象。没有压力,就没有动力。如果我不准备在B车站进行采访,那么我可能无法如此努力地学习。

在日常生活中积累学习也非常重要,所以不要在日常生活中懈怠。

最好让每个人都了解这个知识点。当然,最好用生活中的某些经验来制作类比,可以帮助您更好地理解它。

例如,线程池的知识点类似于去吃晚饭

整个是一个线程池

有50个座位-50个核心线程

外面等待区域

等候区外有20个座位-70个最大线程

人太多了,背后的人必须排队2个多小时。服务员会告诉您队列很长,所以您不妨散步一会儿,以后再过来 - 有些拒绝策略

这应该是一个好主意,了解线程池的功能及其其中一些参数。

我面试准备的知识点:

1。设计模式:单壳,工厂等

2.,,;结构,用户,索引,SQL优化,如何持久数据,备份等。

3。队列,模式,用法

4。线程,过程,线程池

分享