各软件公司面试题汇总(持续更新中……)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

一直想做一个面试题汇总的帖子,收集各大软件公司的笔试、口试等技术方面的面试题。

 

这个帖子将不断更新,包括新的题目和解答……

 


W公司(ASP.NET )

 

第一轮笔试

算法题:可以使用c,c#和java

1. 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序

2. 使用递归求n的阶乘

3. 有1,2,2,3,4,5六个数,要求输出他们组合的全排列,4不能在第三位,5和3不能相邻

4. 请解释HTTP,Cookie和Session

5. 请解释视图,存储过程,左连接

6. 请简单描述三层架构

7. 写一段HTML页面完成注册功能

看了题目,没有给答题纸,只能在背面写了,

先从第四题开始写起,写HTTP协议的时候心里有点嘀咕,他不会等会真问我HTTP协议的细节吧。Cookie和Session先讲了最重要的,都是 Web应用程序中保存特定用户信息的。Cookie信息存放在客户端(大小限制4K,只能存放string类型,不安全,但可以考虑使用加密和验 证),Session信息在服务器端(安全性好,占服务器资源,除InProc方式存放的对象需要可序列化),然后简单说明临时Cookie和永久 Cookie,Session的三种存放方式(InProc、StateServer、SQLServer)

第五题,分别说明视图和存储过程的概念/优点/可能使用它们的主要场景

第六题,简单地描述三层架构,从代码重用/团队协作/系统维护/测试等上面说了下,网上相信能找到很多更好的答案。

第七题,写标记的时候尽量按照xhtml的规范来写,表单的提交,简单的样式和javascript验证的代码

这时有人进来,我赶紧又要了一张纸(后面的算法题肯定需要),这4个题目的答案大概写了A4纸的1面。

回过来写了算法中最简单的第二题:

C# code
public static int Func( int n)
{
if (n < 0 )
{
throw new ArgumentException( " 不能小于0 " );
}

if (n == 0 || n == 1 )
{
return 1 ;
}

return n * Func(n - 1 );
}



看了一下第一题和第三题,还是感觉第一题更简单,尽量考虑了算法的复杂度,但这个不是本人的强项,不过常识是算法题只应该用一个循环,当时大致写的代码如下:

C# code
public static int [] Func( int [] m, int [] n)
{
if (m == null || n == null )
{
throw new ArgumentException( " 传入数组不能为空 " );
}

int [] result = new int [m.Length + n.Length];
int mIndex = 0 ;
int nIndex = 0 ;
for ( int index = 0 ; index < result.Length; index ++ )
{
if (mIndex >= m.Length)
{
result[index]
= n[nIndex];
continue ;
}

if (nIndex >= n.Length)
{
result[index]
= m[mIndex];
continue ;
}

if (m[mIndex] < n[nIndex])
{
result[index]
= m[mIndex];
mIndex
++ ;
}
else
{
result[index]
= n[nIndex];
nIndex
++ ;
}
}
return result;
}



写第三题到一半的时候MM过来问了一下是否做完,估计自己应该能写出来,就说还要一回就好。

现在已经忘记当初具体怎么写的了,不过肯定是完成了功能,还记得当时判断5和3不能相邻时用的技巧是:相邻的两个数字之和不能等于8。

下面这个版本是根据http://blog.csdn.net/qianling3439/archive/2008/08/07/2781041.aspx 修改的C#版本:

C# code
public static void Main()
{
char [] number = new char [] { ' 1 ' , ' 2 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' };
Func(number,
0 , number.Length - 1 );
Console.WriteLine(list.Count);

foreach (String s in list)
{
Console.Write(s
+ " " );
}
}

public static List < string > list = new List < string > ();
public static void Func( char [] n, int beg, int end)
{
if (beg == end)
{
string result = new string (n);
if (result[ 2 ] == ' 4 ' )
return ;
if (result.Contains( " 35 " ) || result.Contains( " 53 " ))
return ;
list.Add(result);
return ;
}
for ( int i = beg; i <= end; i ++ )
{
Swap(n, beg, i);
Func(n, beg
+ 1 , end);
Swap(n, beg, i);
}
}

public static void Swap( char [] n, int a, int b)
{
char temp = n[a];
n[a]
= n[b];
n[b]
= temp;
}



关于本题的其他参考:
http://rjx2008.javaeye.com/blog/339645
http://www.javaeye.com/topic/55873
http://blog.csdn.net/qianling3439/archive/2008/08/07/2781041.aspx


第二轮面试

答完题目之后,一个年轻人(25岁左右)给我面试,根据我的经验估计对方应该是项目小组中的技术骨干

1. ASP.NET页面生命周期
这个问题我本身比较熟悉,出门前还看过 :)。
说了几个自己认为比较重要的PreInit、LoadViewState、 LoadPostData、Load、RaisePostDataChangedEvent(所有实现了IPostBackDataHandler接口的 控件)、RaisePostBackEvent(实现 IPostBackEventHandler 接口的控件,如 Button, LinkButton等)、PreRender、SaveViewState。当然包括每个事件主要做什么,尤其是LoadViewState和 SaveViewState是实现ASP.NET了保持状态的假象。
(相信这个问题回答的超出对方想象)

2. 母版页的作用
这个问题比较简单,简单介绍并提及自己不喜欢用母版页,用javascript找控件比较麻烦,对方颇有同感。

3. 简单查询,考勤表id(PK int) name(varchar) time(datetime),求迟到次数最多的员工的最后一次迟到时间
答案就不贴了

4. 经典的第M条到第N条记录
先问了一下要SQL Server 2000还是SQL Server 2005的版本,对方马上笑了,说还是SQL Server 2000的吧,给了一个top的版本
(我的blog上写过类似的东东http://blog.csdn.net/amandag/archive/2008/07/14/2646472.aspx)

5.  算法:最长升序降序序列,7 5 6 8 10 7 9 3 8 7 4 1 8 9 4,则最长的升序序列为5, 6, 8, 10,最长的降序序列为8,7,4,1
个人的答案是用了一个循环,这里就不贴了。
顺便提一句,手写算法题的时候,对方会一直盯着看,压力比平时写程序大很多

6.  无限级分类数据库设计及节点查找
最近写了一篇类似的blog,当时的思想也差不多是这样
http://blog.csdn.net/amandag/archive/2009/12/16/5021126.aspx

7.  二叉树查找
个人感觉由于前面的问题回答的还不错,后面的这两个问题对方也只是要求我说了一下思想,并未写具体的代码

第三轮面试
面试官是一个年约28~29的女孩,问了一些关于我做的项目的问题,个人感觉她的技术不如前面一个面试官,而且表达思路也不是很清楚,略聊了一会对方告诉我下面会有项目经理面试。

第四轮面试
面试官应该是个技术性的PM,问了一下网站架构的问题,和其聊了一会数据处理中需要考虑的问题(并发、索引、安全、分布式、缓存、海量数据)。

做技术的还是比较坦诚,他认可我的技术水平(这点让我颇为开心),并建议我应聘PM的岗位(其实对方招聘的时候只有SDE、Senior SDE这两个岗位),此时我也意识到如果仅仅应聘Senior SDE看来并不匹配。

第五轮面试
面试官应该是个部门经理,很能聊,主要谈了两个问题
1. 如何控制项目管理中的风险(主要提到了项目进度的控制和客户的交流)
2. 如何打造一个高效的开发团队、如何评估你的团队开发人员
针对我的回答又问了些相关问题,说句老实话,对方显然很有经验,这轮不知深浅。


第六轮面试
对方显然更有经验,感觉不到对方在问问题,基本就是在聊天,他的回答经常是笑着说"我了解了"或者"我明白了",我也只能见招拆招了,最后对方问了一下薪资的问题,我努力踢过去一个皮球,被对方轻易地踢了回来,只好先翻底牌了。

 

 

迅雷

 

一、笔试题:
A)JAVA基础多项选择题,比较简单,略

B)问答:
1)ajax原理、如何实现刷新数据及优点?
2)门面模式的解释、适用场合?
3)写6个linux常用命令?
4)SQL语句题,较简单

C)编程:
1)有三个线程ID分别是A、B、C,请有多线编程实现,在屏幕上循环打印10次ABCABC…
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

二、上机题:
Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?

三、面试题:
1、说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?
2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?
3、mysql支持事务吗?DB存储引擎有哪些?
4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?
5、hibernate支持集群吗?如何实现集群?
6、tomcat 最多支持并发多少用户?
7、map原理,它是如何快速查找key的?map与set区别?
8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???
9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
10、Spring如何实现IOC与AOP的,说出实现原理?

 

 

东软

 

1) 把“20020730”转换为时间格式,并且与当前系统时间比较,然后得到相差的天数。

解答待续……

 

2)生成50个1到100之间的随机数,并且对其中的偶数进行降序排列。

解答待续……

 

3)对一个int num[52] 数组先排序,然后让他里面的数能够打乱,类似洗牌效果。

解答待续……

软件公司面试题大全 最新最全的各大软件公司面试题汇总,让你做好充分的准备,包过哦 立即下载

相关推荐

系统运维工程师笔试题目--答案

系统运维工程师笔试题目--答案版,详细题目000

软件测试常问100道面试题(含答案以及案例解析),全网最全最新

软件测试常问100道面试题,找工作、招人必备之良品。后期不断完善中……

m0_71745903的博客 7506

软件公司面试题

软件公司面试题目,对每个JAVA学习着来说是很好的东西

软件开发常见面试题

软件开发常见面试题一、通俗讲解一下IP地址和DNS二、现在很流行的JWT到底是什么?三、记住七个字搞定索引失效问题四、关于数据库优化的慢查询日志五、三次握手是怎样交互的?六、TCP和UDP的区别?七、跨域问题是怎样产生的?八、session到底是啥?九、http与https?十、get和post的区别?十一、IP地址是什么?十二、什么是VPN?十三、类和对象之间的关系?十四、DNS是什么?十五、cookie能当缓存使用吗?十六、通俗讲解一下什么是DNS?十七、通俗讲解一下IP地址和Mac地址的概念十八、通俗

faramita_of_mine的博客 1万+

java 软件运维面试题_运维面试题(一)

一 基础知识1 什么是linux的daemon进程?和一般进程有什么区别?daemon进程又称为守护 进程,是在系统 启动就运行,系统关闭才停止的进程,独立于终端之外,不与客户端交互。一般进程在关闭终端后就停止了,而daemon进程不会停止。2 通过free命令查看内存是,看到的buffer和cache各表示什么含义?Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲...

weixin_39842519的博客 1577

2024年最全软件测试面试常见问题【含答案】_软件测试面试常见问题及答案,优秀软件测试程序员必知必会的网络基础

PO是Page Object 模式的简称,它是一种设计思想,意思是,把一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,PO模式一般使用三层架构,分别为:基础封装层BasePage,PO页面对象层,TestCase测试用例层。

2401_84563179的博客 1390

软件测试常见的面试题(46道)

系统瓶颈就是软件在一定的并发量、访问量下无法达到用户的需求。比如说用户需要在10s内完成一个访问,但是每一次都要12s才能完成,这个就是性能瓶颈,有可能是程序本身的问题,也有可能和操作系统、软件相关。

2401_86943461的博客 1813

Android开发必须会的技能!被面试官问的Android-Framework难倒了?持续更新

前言 俗话说“生于忧患,死于安乐”,其实大部分中年危机,就是在安乐中产生的。 有的人或许会反驳,“照你这么说,我还必须奋斗了,不奋斗就要死,难道选择安逸的生活就不对吗?我就没有选择自己生活方式的权利吗?” 说这句话的人其实有一些误解,误解就在于,安逸的生活并不等于不需要奋斗,这要看你的家底。 某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本,你如果过早的选择了安逸的生活,那么结局往往会很悲惨,而你能做的,最多也就是让你的后代有选择安逸的资本。 而你,并没有这个选择

m0_52308677的博客 129

大数据技术之Java面试题第二天(持续更新

1、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 2、是否可以继承String 类? 3、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 4、String 和StringBuilder、StringBuffer 的区别? 5、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

weixin_49211683的博客 3250

聊聊软件行业那些事

需要注意的是,不同的软件产品可能采用不同的获益方式,而且同一种获益方式也可能适用于不同的软件产品。因此,在开发软件产品时,需要仔细考虑选择哪种获益方式最适合你的产品。

qq_57756904的博客 1001

史上最全Java面试八股文,持续更新

这篇Java面试指南涵盖了核心知识点总结和常见问题解析,包括: 基础语法:break标签、构造器重写、equals与hashCode规范、String不可变性、值传递机制 面向对象:抽象类vs接口、final用法、静态嵌套类与内部类、对象克隆实现 集合框架:ArrayList/LinkedList特性、TreeSet排序原理、Collections工具类 异常处理:Error与Exception区别、try-catch-f

2401_89221867的博客 1083

百度、华为、京东、B站最新面试题汇集,完整PDF

前言 本篇文章主要记录分享我的面试准备过程。 很多朋友问我为什么离职 关于离职原因,马云有一句经典的话“要么钱没给到位,要么心委屈了”,想必大家耳熟能详了,我这里再细说一下我个人离职原因: 工资倒挂,涨薪不如意 在之前的小厂薪资倒挂现象严重,新入职的员工工资明显高过老员工,企业宁愿高薪招聘一位新员工,也不愿给我们老员工加工资,这让老员工十分寒心。接地造成老员工离职。继而还有一种,当感觉自己的劳动并未收获到相应的价值之时,继续在原公司呆下去意义也不大。 十年如一日的技术 在小型软件公司干的三年时间里,其实只拥

m0_57077948的博客 119

全国各个软件公司面试题

北京-诚创易通笔试题. 北京-恒华伟业科技面试题 北京-光声--面试和机试-北京 广州-领先面试题 杭州-SQL浙江浙大网新中研软件有限公司 南京-北极星

深圳中软技术最新笔试题目

这个文档里面是深圳中软的最新笔试题目,包括数据库题目

字节跳动Android岗面试题;万字长文轻松彻底入门Flutter,BAT大厂面试总结

一个朋友是前阿里人,37岁,离职后就职美团。以前投一个面一个,今年想跳槽,但没想到投十个能有两个面试机会就不错了,最后索性又回了阿里做架构。 他在面试的时候,碰见比自己大的面试官,态度和善,一般面试都能过。而如果碰到比自己小很多的面试官,能给你从天上问到地下,好像在说,就这?你也能不会? 我同事的说法:他跟你能不能和得来,年龄是硬伤。但凡你要在他手下干活,年龄又相差较大的话,他一般是不会要的,根本原因就是怕管不住。 另外几个朋友,都走的技术管理岗,也35了,有的在网易,有的在滴滴。据他们说,到了这个年纪,

Sunbuyi的博客 204

90%以上软件公司都会问的软件测试面试题

1、软件测试的流程? 考查的目的:软件测试基础 参考答案:需求评审(需求是否合理、需求是否可测试)-》测试计划(人、时间、业务点、资源)->测试设计(写标题,测试用例)->冒烟测试(准入测试)-》全面开展测试(测试执行:测试环境搭建,)->bug提交->新版本发布(bug有没有验证,新功能测试、回归测试)-》测试报告总结。 软件测试流程图 2、web测试和app测试的区别? 考查目的:你对web和app的认识 参考:网页(PC、手机),app(手机),web,app(混合APP,.

公众号【伤心的辣条】资料领取~ 136

7年老Android一次坑爹的面试经历,含BATJM大厂(1),2024年最新h5的面试题

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题答案网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)一个人可以走的很快,但一群人才能走的更远!

2401_84004024的博客 813

三年开发经验,从小厂离职后,我凭什么拿到了阿里、腾讯、今日头条的offer

临近年末,很多程序员心里大概都准备着年后找工作或者跳槽。最近也有很多人都在交流群里求大厂面试题。刚好我今年从小型软件公司离职,奋战4个多月成功拿到了阿里、腾讯、今日头条的offer。讲述面经的文章很多,本篇文章主要记录分享我的面试前的准备过程,涵盖了辞职原因、准备过程、面试刷题、以及简历制作与投递。 我为什么离职 关于离职原因,马云有一句经典的话“要么钱没给到位,要么心委屈了”,想必大家耳熟能详了...

weixin_43901866的博客 1428

java 面试题

从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,并且在这方面有一些天赋和优势。程序员的结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老板或团队,找到和很好的搭档自己创业,成为IT金领和富翁。” 人们在...

datoplay 8万+
上一篇: 使用“软删除”来删除数据库中的数据
下一篇: 乐观锁与悲观锁
kurobane
博客等级 码龄17年 49粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值