全是原题?东吴金科2024量化研究员笔试0402

2024-06-26 18:07:53 浏览数 (2)

关注我们,每周发布最新的笔面试题目和解析

记得设为星标哦

前言

限时60min,4个概率和数理统计题、一个编程题,实则可以看为两个编程题。如果这些题是第一次做的话,还是比较难或者难以下手的,尤其是编程题考了动态规划,难度为力扣hard级别,对标互联网大厂笔试。但是做多了,就会发现基本都是经典题型,所以笔试前要好好准备,多刷绿宝书、红宝书,多刷LeeCode!

春招和暑期实习和笔试也陆陆续续开始了,欢迎同学们在公众号后台投稿,你们的每条留言小编都会仔细查看。累计投稿4场将获得知识星球100元优惠券。更全的笔面试资料及学习路线在知识星球中,会随着资源的积累不断涨价,早加入早学习早拿offer早赚米!

题目1

现在有 100 个人,他们分别拿到了从 1 号到 100 号的座位,这些乘客会按号码顺序登机并应当对号入座,如果他们发现对应号座位被别人坐了,就会在剩下空的座位随便挑一个坐。现在假设 1 号乘客疯了(其他人没疯),他会在 100 个座位中随便选一个座位坐下,问:第100 人正确坐到自己坐位的概率是多少?

【参考答案】1/2

经典概率题。寻找递推关系:

A.若乘客数量是2,则答案是1/2;

B.若乘客数量是3,则答案是1/2;

C.若乘客数量是n,求a(n),那么,

1)疯子坐的是自己的位置,1/n

2)疯子坐的是第2个位置,则去掉疯子和第2个位置,此时变成了求a(n-1);

3) 疯子坐的是第3个人的位置,去掉疯子和第2个位置,还有第2个人和第2个位置,此时变成了求a(n-2);

4)以此类推;

则:a(n)=(1 a(n-1) a(n-2) ~ a(2))/n

同理,a(n-1)=(1 a(n-2) a(n-3) ~ a(2))/n-1;

等式变形有:na(n)-a(n-1)=(n-1)a(n-1);即a(n)=a(n-1)

所以,结果是1/2;

题目2

有 n 个口袋,每个口袋均有 a 个白球,b 个黑球,现在做如下操作:从第一个口袋中任取一球放入第二个口袋,从第二个口袋中任取一球放入第三个口袋,

以此类推,直至从第 n-1 个口袋任取一球放入第 n 个口袋。问:最后从第 n 个口袋任取一球,取到白色的概率为多少。(请写出思路和计算过程)

【参考答案】P=a/(a b)

数学归纳法或寻找递推关系。下面给出一个新思路:

n个口袋里的球的总数是n(a b) 其中白球na个 黑球nb个

此题相当于求在n(a b)个球中,取一个白球的概率

P=na/n(a b)=a/(a b)

题目3

x1,x2,x3,x4,x5 为0,1区间均匀分布的随机变量,求 min(x1,x2,x3,x4,x5)和max(x1,x2,x3,x4,x5)的相关系数

【参考解析】公式较多,不方便打,给出思路分析:

首先计算这些变量的期望值和方差,然后利用它们的定义或通过积分计算协方差,最后应用相关系数的公式。

题目4

长度为 10 米的钢筋,连续砍两刀(即先砍下一段,然后再砍剩下的一段),3 段都大于 1米的概率是多少?

【参考解析】

设第一刀离左端的距离为 x,第二刀离左端的距离为 y,那么第三段的长度为 10−x−y。

需要满足以下条件:

(1)x>0,即第一刀离左端距离大于 0。

(2)y>0,即第二刀离左端距离大于 0。

(3)10−x−y>1,即第三段长度大于 1。

将这些条件绘制在二维坐标系中,阴影部分表示满足要求的区域。我们需要计算这个阴影部分的面积。计算矩形的二重积分

题目5

编程题:(1)给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个最优算法,在只允许交易一次的前提下,来计算你所能获取的最大利润,且不能开空仓。

(2)若最多可以完成两笔交易呢?(必须在再次购买前出售掉之前的股票,亦不能开空

仓)

【参考答案】均为leetcode原题、股票买卖系列

(1)LeetCode num121买卖股票的最佳时机。枚举卖出价格,维护买入的最小值

代码语言:python代码运行次数:0复制
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        ans = 0
        min_pirce = prices[0]
        for p in prices:
            ans = max(ans, p - min_pirce)
            min_pirce = min(min_pirce, p)
        return ans

(2) LeetCode num123 买卖股票的最佳时机Ⅲ。动态规划,思路看注释吧。比较难,不会的就学学吧!

代码语言:python代码运行次数:0复制
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        # 甲:这n天怎样买股票赚的多-------------------------------------
        n = len(prices)

        # 乙:dp[i]代表第i天-------------------------------------------
        # 乙:dp[i][0]代表第i天过后第一次买股票时的最大收益
        # 乙:总之,今天过后我必有股票在手上,要么之前买的,要么今天买的
        # 乙:dp[i][1]代表第i天过后第一次卖股票时的最大收益
        # 乙:总之,今天过后我手上空空如也,要么本来就没有,有我也给卖了
        # 乙:dp[i][2]代表第i天过后第二次买股票时的最大收益
        # 乙:dp[i][3]代表第i天过后第二次卖股票时的最大收益
        dp = [[0,0,0,0] for _ in range(n)]

        # 乙:今天是第一天---------------------------------------------
        # 乙:第一次买股票是吧,prices[0]块钱拿去,今天股票我买了
        # 乙:第一次卖股票是吧,prices[0]块钱买来又卖掉,血赚0元
        # 乙:第二次买,我买了又卖掉又买回来,花费prices[0]块钱
        # 乙:第二次买,我买了又卖掉又买回来又卖掉,哎,就是玩
        # 注:在同一天内反复买卖是不影响最终结果的,因为反正都是0
        dp[0]=[-prices[0],0,-prices[0],0]

        # 旁白:时间一天天过去
        for i in range(1, n):
            # 甲:今天是第i天,如果我第一次买股票,该怎么操作------
            # 乙:dp[i-1][0] 今天的股票太贵了,买之前的股票更划算
            # 乙:- prices[i] 今天的股票更便宜,我买了,prices[i]块钱拿去
            dp[i][0] = max(dp[i-1][0], -prices[i])

            # 甲:今天是第i天,如果我第一次卖股票,该怎么操作------
            # 乙:dp[i-1][1] 今天股市不行,还是之前卖更划算
            # 乙:  prices[i]   dp[i-1][0] 今天的行情不错,股票卖掉,血赚prices[i]块钱,
            # dp[i-1][0]是我用低价买入花的钱
            dp[i][1] = max(dp[i-1][1],   prices[i]   dp[i-1][0])

            # 甲:今天是第i天,如果我第二次买股票,该怎么操作------
            # 乙:dp[i-1][0] 今天的股票太贵了,买之前的股票更划算
            # 乙:- prices[i] 今天的股票更便宜,我买了,prices[i]块钱拿去
            # dp[i-1][1]是我第一次卖股票赚的钱
            dp[i][2] = max(dp[i-1][2], - prices[i]   dp[i-1][1])

            # 甲:今天是第i天,如果我第一次卖股票,该怎么操作------
            # 乙:dp[i-1][1] 今天股市不行,还是之前卖更划算
            # 乙:  prices[i]   dp[i-1][0] 今天的行情不错,股票卖掉,血赚prices[i]块钱,
            # dp[i-1][2]是我第二次买完股票后的最大收益
            dp[i][3] = max(dp[i-1][3],   prices[i]   dp[i-1][2])

        return dp[-1][-1]

思路或想法欢迎在留言区交流

最后介绍一下我们的知识星球

每周发布私募、公募、资管、券商、期货、银行、保险等最新的笔面试题目和解析,发布行业前沿研究成果和最新量化资讯。创建这个星球,目的是为了沉淀有价值的内容,构建一个质量更高、更专注的学习和交流环境,从而帮助每一位成员提升自己。

在这个知识星球里,你将获得:

1.实习/校招/社招笔面试真题和经验分享:包含学习路线、准备笔面试的规划、方法、技巧等,同时提供全市面最全的真题资料,持续更新当前最新的笔面试题目和解析,帮助你充分准备,助力你成为offer收割机。

2.专业知识与技能提升:

数据处理与分析:分享如何处理和分析数据,包括使用最新的工具和技术,以及数据清洗和预处理的最佳实践。

量化策略:深入量化交易的世界,学习如何从零开始设计、测试和优化你的量化策略。提供丰富的案例和实践指导,帮助你打造出稳健的交易模型

因子挖掘:分享如何在庞大的数据海洋中发现影响市场的隐藏因素。将因子分析融入量化策略,增强模型的预测能力。

组合优化:介绍如何通过组合优化提高投资组合的性能,包括风险管理和资产配置的策略。

交易系统开发:分享交易系统的开发过程,从系统架构设计到实现,包括API接口的使用、自动化交易的实现等。

高性能计算:分享如何应用高性能计算技术处理大规模数据集,提高计算效率

3.不定期行业大咖分享:邀请量化投资与机器学习领域的行业专家,分享他们的知识、见解和经验。

4.编程技巧与算法知识:不定期分享编程技巧、算法知识、学习方法和个人心得,帮助成员更有效地规划时间和学习路径。

5.大厂面试内推渠道:实时发布大厂面试内推信息,为你的职业发展提供支持。

我们致力于打造一个全面、高效且互帮互助的社群。无论你是量化投资和机器学习领域的初学者,还是已有深厚背景的专业人士,这里都将是你学习新知识、分享经验、扩展人脉的理想之地。

0 人点赞