不知道各位帅哥美女最近面试是否顺利,是否会经常问到一些自己不熟悉的问题,不知道怎么去回答这些问题,今天笔者给大家整理了2020年大厂经常问到了的一些面试真题及解析,内容点包含有java集合,jvm,并发编程,spring,mybatis,springMVC,微服务,Dubbo,netty,网络,zookeeper,kafka,rabbitMQ,readis缓存,数据库,设计模式 等一线大厂互联网大厂常问到的面试真题。
百度试题
1 编程:
用 C 语言实现一个 revert 函数,它的功能是将输入的字符串在原串上倒
序后返回。
2 编程:
用 C 语言实现函数 void * memmove(void *dest,const void *src,size_t
n)。memmove 函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所
指的地址上。
3 英文拼写纠错:
在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。假设
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度;
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
4 寻找热门查询:
搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下
来,每个查询串的长度为 1-255 字节。假设目前有一千万个记录,这些查询
串的重复度比较高,虽然总数是 1 千万,但如果除去重复后,不超过 3 百万
个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。请
你统计最热门的 10 个查询串,要求使用的内存不能超过 1G。
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度。
5 集合合并:
给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},
{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集
合之间无交集,例如上例应输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
1 题
char *revert(char * str)
{
int n=strlen(str);
int i=0;
char c;
for(i=0;i {
c=str;
str=str[n-i];
str[n-i]=c;
}
return str;
}