百度测开面经(分类版)

1.Linux相关

1.查看家目录下a.log日志文件的最后200行

sql 复制代码
tail -n 200 ~/a.log

2.查看8080端口是否被占用

sql 复制代码
lsof -i :8080
lsof=list open files
-i :8080表示查看所有使用8080端口的进程

3.查看当前目录及子目录下的所有文件(超过3天的)

sql 复制代码
find . -type f -mtime +3
find是查找命令
.是当前目录
-type f只查找文件
-mtime +3修改时间超过3天(+表示早于)

4.两台机器传递文件命令

2.SQL相关

1.student表(student_id,name,year)score表(score_id,student_id,score)如何查询学生成绩

sql 复制代码
select student.student_id,student.name,score.score
from student这里from指定主数据来源表,然后通过JOIN再把其他表连起来
join score
on student.student_id=score.student_id这里的ON用来指定两张表之间的连接条件(匹配关系)

另外写法
select 
s.student_id,
s.name,
sc.score
from student s这里就是把student表直接起了个s的别名
join score sc on s.student_id=sc.student_id

进一步筛选不要2023年和2024年的学生

sql 复制代码
select s.student_id,s.name,sc.score
from student s
join score sc on s.student_id=sc.student_id
where s.year not in (2023,2024);

2.删除一个表

java 复制代码
drop table 表名

3.查找成绩为前三的同学的姓名(有两个表student和score)

java 复制代码
select s.name,sc.score
from student s
join score sc on s.student_id=sc.student_id
order by sc.score desc
limit 3

如果只有一个表(student)

java 复制代码
select name,score
from student
order by score desc
limit 3;

4.Redis和Mysql谁的读写速度快,为什么

Redis,直接在内存中进行读写,无需磁盘I/O,低层采用了高效的数据结构:哈希表,链表,字符串,集合,有序集合

Mysql每次查询/更新都可能涉及磁盘读写,低层使用B+树、磁盘页存储结构,需要磁盘寻址、索引查找

5.有一个学生选课表,包含字段:学生ID(studentid)、课程id(course id)、和课程得分(score)

如何查询至少选修两门课程的学生的学生ID

复制代码
select student_id
from student_course
group by student_id
having count(distinct course_id)>=2;

3.算法题

1.将两个无序数组拼接成一个有序数组

java 复制代码
public class Merge{
    public static void main (String args[]){
        Integer [] nums1={1,4,3,7};
        Integer [] nums2={1,0,3,6,3};
        ArrayList<Integer>list=new ArrayList<>();
        list.addAll(Arrays.aslist(nums1));
        list.addAll(Arrays.aslist(nums2));
        Collections.sort(list);
        System.out.println(list);
    }
}

2.翻转字符串

java 复制代码
public class reverse2 {
    public static void main(String[] args) {
        String s="helloworld";
        List <Character> list=new ArrayList<>();
        for(char c:s,toCharArray()){
            list.add(c);
        }
        Collections.reverse(list);
        StringBuilder sb=new StringBuilder();
        for(char c:list){
            sb.append(c);
        }
        String str=new String(sb);
        System.out.println(str);
    }
}
        

3.无重复字符的最长子串(返回的是长度)

java 复制代码
public class solution{
    public static int Longest(String s){
           int right=0;
           int max=0;
           Set<Charcter> occ=new HashSet<Character>();
           for(int i=0;i<s.length();i++){
                if(i!=0){
                  occ.remove(s.charAt(i-1));
                }
                while(right<s.length() && !occ.contains(s.charAt(right)){
                    occ.add(s.charAt(right));
                    right++;
                 }
                max=Math.max(right-i+1,max);

            }
            return max;
     }
}
            

(返回的是子串)

复制代码
public class NotSmaeLongest {
    public static String Longest(String s){
        int right=-1;
        int ans=0;
        int best_start = 0;
        Set<Character>set=new HashSet<>();
        for ( int left = 0; left <s.length() ; left++) {
            if(left!=0) {
                set.remove(s.charAt(left - 1));
            }
            while(right+1<s.length()&&!set.contains(s.charAt(right+1))){
                set.add(s.charAt(right+1));
                right++;
            }
            int current=right-left+1;
            
            if(current>ans){
                ans=current;
                best_start=left;
            }

        }
        return s.substring(best_start,best_start+ans);
    }
}

4.反转字符串里的单词

复制代码
class Solution {
    public String reverseWords(String s) {
        s.trim();
        List<String>list=Arrays.asList(s.split("\\s+"));
        Collections.reverse(list);
        return String.join(" ",list);
    }
}

5.快排

6.给定一个数组,将所有重复元素删除,只保留每个元素出现一次的元素,时间复杂度O(n)

复制代码
import java.util.*;

public class Delete_repeat {
    public static String find(int[] nums) {
        Set<Integer> set = new LinkedHashSet<>();
        for (int num : nums) {
            set.add(num);
        }
        return set.toString();
    }

    public static void main(String[] args) {
        int[] a = {1,1,2,2,3,3,4,4,5,5,6,6,7};
        System.out.println(find(a)); // [1, 2, 3, 4, 5, 6, 7]
    }
}

4.场景题

1.如何测试一个登录页面,写出测试用例,从哪几个方面进行测试

2.测试中你针对哪些模块进行功能测试

5.计算机网络

1.三次握手四次挥手

2.在网站输入网址后到查看网址的过程

3.有32台主机,需要的子网掩码要多少位

6.操作系统

1.并发与并行

并发是交替处理多个任务的能力,并行是真正同时执行多个任务的能力

相关推荐
dixiuapp5 分钟前
设备维修记录系统,从数据沉淀到价值挖掘的跃迁
大数据·数据库·人工智能
问道飞鱼23 分钟前
【数据库知识】MySQL 多表关联高效实现指南:场景化方案与底层原理
数据库·mysql·多表关联
马克学长24 分钟前
SSM校园二手交易平台7fut7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·校园闲置资源交易
dblens 数据库管理和开发工具31 分钟前
MySQL :5.7与8.0版创建用户与授权、密码认证插件、角色、密码过期策略
数据库·mysql·dblens·mysql创建用户·mysql设置密码·mysql用户授权
救救孩子把34 分钟前
Dogs vs. Cats:从零到一的图像分类数据集
人工智能·分类·数据挖掘
曹牧42 分钟前
Oracle:字段为值列表
数据库·oracle
亮子AI1 小时前
【Prisma】如何修复(重建)已经损坏的迁移历史?
数据库·prisma
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue职位管理推荐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
热爱专研AI的学妹1 小时前
【搭建工作流教程】使用数眼智能 API 搭建 AI 智能体工作流教程(含可视化流程图)
大数据·数据库·人工智能·python·ai·语言模型·流程图
databook1 小时前
拒绝“凭感觉”:用回归分析看透数据背后的秘密
python·数据挖掘·数据分析