这是我第一次参加面试,准备的不太充分,面试了差不多一个半小时(最后有道算法题写了半小时),面试官人很好很温和,就是我自己太紧张了感觉没发挥好。下面是面试官的问题和我之后面试完后查的答案供大家参考:
1.自我介绍,本科和研究生期间参加过什么竞赛,获得什么奖?
2.软件开发过程包括那些阶段?
3.测试开发的主要内容?
测试开发通常涉及编写和维护自动化测试脚本、测试工具和框架以及执行各种类型的测试,如单元测试、集成测试、功能测试、性能测试和安全测试。以下是一些测试开发的主要内容:
4.测试人员的第一职责?
测试的第一职责是发现软件系统的问题并报告给开发人员,在软件产品发布之前确保软件的质量。测试人员必须了解需求规格说明书,并确保软件系统符合这些规范。测试人员应该执行充分的测试用例,探索所有系统各个方面的功能以及各种输入的响应能力。测试人员还应该制定软件测试计划,以便在每个阶段执行恰当的测试并记录所有缺陷。最后测试人员应该对测试结果进行整理和分析,以便提供给开发人员以便漏洞的修复和修改缺陷。测试的目标是确保软件系统端到端的可靠性、完整性、可用性和处理各种异常行为的能力,以满足最终用户的期望。
5.问了我项目里的一些东西,我做的是瑞吉外卖。
6.你的项目的数据库是自己编写的吗?
7.什么是数据库索引?
索引是一种方法,它将某些列的值进行排序,并为排序后的值建立一个指向实际数据的指针。查询时,DBMS将获取查询条件并查找索引,然后使用指向实际数据的指针来访问数据。使用适当的索引可以减少查询的执行时间,从而提高数据库的性能。索引还可以提高数据的完整性和可靠性。这是因为使用索引可以确保唯一性、完整性和正确性的数据约束条件得到保证,从而避免了数据的冲突和错误。总之,索引是数据库性能优化的基础,但应该根据实际应用场景进行优化和选择,因为索引的过多和不恰当的使用可能会降低数据库性能。数据库表索引是用于提高数据库查询和修改操作性能的一种数据结构,可以加速数据库操作并提高查询的效率。索引可以用来加速SELECT、UPDATE和DELETE语句的查询速度,从而提高响应时间和吞吐量。
索引是一种方法,它将某些列的值进行排序,并为排序后的值建立一个指向实际数据的指针。查询时,DBMS将获取查询条件并查找索引,然后使用指向实际数据的指针来访问数据。使用适当的索引可以减少查询的执行时间,从而提高数据库的性能。
索引还可以提高数据的完整性和可靠性。这是因为使用索引可以确保唯一性、完整性和正确性的数据约束条件得到保证,从而避免了数据的冲突和错误。
总之,索引是数据库性能优化的基础,但应该根据实际应用场景进行优化和选择,因为索引的过多和不恰当的使用可能会降低数据库性能。
8.如果你的项目是分布式系统,如何优化?
作为分布式系统,优化一直都是一个重要的话题。下面是一些优化分布式系统的方法:
通过以上几种方法,可以有效地优化分布式系统,提高系统的稳定性、可用性和性能。
9.介绍Nginx
Nginx负载均衡算法:
1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。
2、weight(轮询权值)weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。
3、ip_hash源地址哈希法源地址哈希的思想是根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。
4、fair比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间 来分配请求,响应时间短的优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。
5、url_hash按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。
10.你的系统上线时可能会出现的问题?
系统上线时可能会出现以下问题:
11.系统上线后出现问题,排查问题的步骤
当系统上线后出现问题时,下面是一些排查问题的步骤:
以上步骤仅是问题排查的大致步骤,具体方法可能需要根据具体问题而定。在任何情况下,都需要保持冷静和耐心,并且遵循一定的标准流程来排查和解决问题。
12.排查隐藏bug的方法
有时候出现问题的原因是一些隐藏的bug,这些bug可能很难被发现,需要进行专门的排查方法。下面是一些排查隐藏bug的方法:
需要注意的是,发现和排查隐藏bug需要专门的技术和经验。在进行排查时,需要注意细节和持续跟进,以确保问题得到妥善解决。
13.你的项目用的什么日志?介绍一下日志
在开发过程中,系统日志可以使用多种方式来记录,常用的有以下几种:
14.在大量日志中,查找关键日志的方法?
在大量日志中查找关键日志可以使用以下方法:
在选择日志查找方法时,需要结合实际使用经验和工作场景以及具体的技术栈来进行判断选择,提高效率和准确性。
15.查找日志的命令
grep
命令:可以使用该命令在指定目录中搜索指定内容的文件
16.算法题:给定一个字符串,请你找出其中不含有重复字符的最长字串的长度。例:输入“pwwkew”,无重复最长字串为wke
故输出3.
public static String longestSubstringWithoutDuplication(String s) {
int n = s.length();
Set<Character> set = new HashSet<>();
int left = 0, right = 0;
int maxLen = 0, start = 0;
while (right < n) {
if (!set.contains(s.charAt(right))) {
set.add(s.charAt(right));
right++;
if (set.size() > maxLen) {
maxLen = set.size();
start = left;
}
} else {
set.remove(s.charAt(left));
left++;
}
}
return s.substring(start, start + maxLen);
}
反问:
1.您认为我在找实习中应该注意什么呢?
应该针对不同的岗位去做准备。
2.大概多长时间出结果
一周之内
#我的实习求职记录#