10道字节跳动C++/Java笔试真题你能做对几道?3道就赢了80%的竞争者(含答案)

       整理了几道字节跳动真题,来试试自己水平有多厉害吧,每题还有答案和详细解答哦。

       1、变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000。则a+b的结果用10进制表示为多少?

       A:1
       B:-1
       C:263+262+…+22+21+2^0
       D:–(263+262+…+22+21+2^0)

(1)a+b的16进制表示为:0xFFFFFFFFFFFFFFF(16位F),转为2进制为1111111111111111。
(2)有符号整数是针对2进制而言的,最高位代表符号位,其中“0”代表“+”,“1”代表“-”。所以a+b的结果是一个负数。
(3)计算机中的负数是以补码的形式保存的,将补码转换成原码方式为:除符号位之外,按位取反,末尾+1,所以a+b=-1。
答案:B

       2、在TCP建立三次握手过程中,关于第二次握手发送的标记,最正确的描述是?

       A:ACK         B:SYN,ACK         C:SYN,PSH         D:SYN

答案:B。附上TCP建立连接的三次握手过程图。

在这里插入图片描述
       3、栈是先进后出的数据结构。给定一个大小为3的初始状态为空的栈,已知一组数据经过这个栈后,最终得到的数据顺序依次为:1324,问原始进栈的数据不可能是以下的哪组?

       A:2314
       B:1423
       C:4231
       D:3124

答案:C。本题考栈的进出规则,注意题中规定栈的初始大小为3。

       4、假如操作系统中使用LRU内存淘汰策略:如果内存需要加载新数据但空间又不足,则会按照最近访问时间进行排序,并将最老的数据淘汰,假设现在内存空间大小为5,原本内存中没有数据,对内存中数据的访问顺序如下:1,2,5,3,4,6,1,4,3,6,7,8,3,9。则:

       A:缺页次数:9
       B:缺页次数:4
       C:缺页次数:10
       D:缺页次数:5

答案:C。原本内存中没有数据,直到读满数据,每一次读取数据都是缺页,共5次。
第一次读满数据的顺序为:1,2,5,3,4。
读取6为新数据,淘汰1数据序列为2,5,3,4,6————第6次缺页
读取1为新数据,淘汰2数据序列为5,3,4,6,1————第7次缺页
读取4为已有数据,注意更新数据序列为5,3,6,1,4
读取3为已有数据,注意更新数据序列为5,6,1,4,3
读取6为已有数据,注意更新数据序列为5,1,4,3,6
读取7为新数据,淘汰5数据序列为1,4,3,6,7————第8次缺页
读取8为新数据,淘汰1数据序列为4,3,6,7,8————第9次缺页
读取3为已有数据,注意更新数据序列为4,6,7,8,3
读取9为新数据,淘汰4数据序列为6,7,8,3,9————第10次缺页

       5、有三个程序J1,J2,J3。程序在单核CPU执行时,三个程序需要的资源如下所示:(优先级高的程序可以抢占优先级低的程序的CPU,但不能抢占IO。问当所有任务执行完毕时,共消耗的时间是?)

程序CPU占用时间(ms)IO占用时间(ms)执行顺序优先级
J14060先CPU后IO
J22050先IO后CPU
J33020先CPU后IO

A:170ms B:160ms C:120ms D:130ms

答案:D。

在这里插入图片描述

       6、给定整数m,n以及数列A1,A2,…An,将数列A中所有元素两两异或,共能得到n(n-1)/2个结果,请求出这些结果中大于m的有多少个?

import java.io.*;public class Main {static class TrieNode {long count=1;TrieNode[] next = new TrieNode[2];}private static int read(StreamTokenizer st) throws IOException {st.nextToken();return (int) st.nval;}public static void main(String[] args) throws IOException {StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));//读取n,mint n = read(st);int m = read(st);//读取数组int[] arr = new int[n];for(int i=0; i<n; i++){arr[i] = read(st);}//构建字典树TrieNode root = build(arr);//统计(查询字典树)long total=0;for(int i=0; i<arr.length; i++){total += query(root, arr[i], 16, m);}System.out.println(total/2);}private static long query(TrieNode node, int a, int idx, int m){if(node==null)return 0;TrieNode cur = node;for(int i=idx; i>=0; i--){int aDigit = (a>>i)&1;int mDigit = (m>>i)&1;if(aDigit==1 && mDigit==1){if(cur.next[0]==null)return 0;cur = cur.next[0];}else if(aDigit==0 && mDigit==1){if(cur.next[1]==null)return 0;cur = cur.next[1];}else if(aDigit==1 && mDigit==0){long p = cur.next[0]==null? 0 : cur.next[0].count;long q = query(cur.next[1], a, i-1, m);return p+q;}else if(aDigit==0 && mDigit==0){long p = cur.next[1]==null? 0 : cur.next[1].count;long q = query(cur.next[0], a, i-1, m);return p+q;}}return 0;}private static TrieNode build(int[] arr){TrieNode root = new TrieNode();for(int i=0; i<arr.length; i++){TrieNode cur = root;//从高位插入字典树for(int idx=16; idx>=0; idx--){int digit = (arr[i]>>idx)&1;if(cur.next[digit]==null){cur.next[digit] = new TrieNode();}else{cur.next[digit].count++;}cur = cur.next[digit];}}return root;}
}

       7、给定一个m * n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。
       示例:输入[[1,2,3],[4,5,6],[7,8,9]] 返回值[1,2,3,6,9,8,7,4,5]

import java.util.*;
public class Solution {public ArrayList<Integer> spiralOrder(int[][] matrix) {ArrayList<Integer> res = new ArrayList<>();if(matrix.length == 0)return res;int top = 0, bottom = matrix.length-1;int left = 0, right = matrix[0].length-1;while( top < (matrix.length+1)/2 && left < (matrix[0].length+1)/2 ){//上面  左到右for(int i = left; i <= right; i++){res.add(matrix[top][i]);}//右边 上到下for(int i = top+1; i <= bottom; i++){res.add(matrix[i][right]);}//下面  右到左for(int i = right-1; top!=bottom && i>=left; i--){res.add(matrix[bottom][i]);}//左边 下到上for(int i = bottom-1; left!=right && i>=top+1; i--){res.add(matrix[i][left]);}++top;--bottom;++left;--right;}return res;}
}

       8、给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,求所有的路径中最小的路径和。
       示例:输入[[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]] 返回值12

import java.util.*;
public class Solution {/*** * @param matrix int整型二维数组 the matrix* @return int整型*/public int minPathSum (int[][] matrix) {// write code hereint n = matrix.length;int m = matrix[0].length;int[][] dp = new int[n][m];dp[0][0] = matrix[0][0];for(int i=1;i<m;i++)dp[0][i] = dp[0][i-1] + matrix[0][i];for(int i=1;i<n;i++)dp[i][0] = dp[i-1][0] + matrix[i][0];for(int i=1;i<n;i++)for(int j=1;j<m;j++)dp[i][j] = Math.min(dp[i][j-1],dp[i-1][j]) + matrix[i][j];return dp[n-1][m-1];}
}

       9、给定一个十进制数M以及需要转换的进制数N。将十进制数M转化为N进制数。


import java.util.*;
public class Solution {/*** 进制转换* @param M int整型 给定整数* @param N int整型 转换到的进制* @return string字符串*/public String solve (int M, int N) {// write code hereif(M==0){return "0";}int sign = 1;if(M<0){sign = -1;M=-M;}StringBuilder sb = new StringBuilder();while(M>0){int k = M%N;if(k>=10){sb.append((char)(k-10+'A'));}else{sb.append(k);}M=M/N;}if(sign==-1){sb.append('-');}return sb.reverse().toString();//将字符串反过来,然后加上负号}
}

       10、把只包含质因子2、3和5的数称作丑数。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。


public class Solution {public int GetUglyNumber_Solution(int index) {if(index <= 0)return 0;int p2=0,p3=0,p5=0;int[] result = new int[index];result[0] = 1;//for(int i=1; i < index; i++){  result[i] = Math.min(result[p2]*2, Math.min(result[p3]*3, result[p5]*5));if(result[i] == result[p2]*2)p2++;if(result[i] == result[p3]*3)p3++;if(result[i] == result[p5]*5)p5++;}return result[index-1];}
}

       上面的笔试题你做对了几道?如果你觉得看得不过瘾,关注我,后续会给同学们分享更多大厂笔试真题。


xDroid——让安卓应用运行在Linux平台上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69236.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python:为什么没有桌面图标?

Python&#xff1a;为什么没有桌面图标&#xff1f; 作为一种功能强大的编程语言&#xff0c;Python越来越受到开发人员的欢迎。不过&#xff0c;相对于其他流行的应用程序&#xff0c;开发人员可能会发现一个让他们感到疑惑的问题&#xff1a;为什么Python没有桌面图标&#…

阿里云科学家入选计算机顶会HPCA名人堂,他是什么来头?

记者 | 夕颜 出品 | CSDN&#xff08;ID:CSDNnews&#xff09; 近日&#xff0c;由 IEEE 主办的高性能计算架构国际研讨会 HPCA 公布了最新一期名人堂&#xff08;Hall of Fame&#xff09;名单&#xff0c;来自阿里云基础设施服务器研发团队的科学家蒋晓维成为名人堂新晋成员。…

文本框字数限制

<div class"layui-form-item"><label class"layui-form-label"><span style"color: red">*</span>院校简介&#xff1a;</label><div class"layui-input-block"><textarea class"layui-t…

水瓶座性格分析

水瓶座性格分析 水瓶座性格分析&#xff08;新浪星座&#xff09; 水瓶座2月13日

水瓶座名人既水瓶座概论

2019独角兽企业重金招聘Python工程师标准>>> -- 水瓶座名人既水瓶座概论冷淡、古怪的理想主义和试验主义--水瓶座&#xff08;ZT&#xff09;水瓶座的名人世界著名的水瓶座&#xff1a;林肯、杰弗逊、里根、福兰克林罗斯福、叶利钦、爱迪生、达尔文、安培、门捷列夫…

数据库之十二星座 水瓶座

本来今天是想休息一下&#xff0c;看看我喜欢看的“奇葩说”&#xff0c; 和看那些肥皂剧相比&#xff0c;唇枪舌战&#xff0c;脑洞大开才是我 favorite. 本期说的是死亡&#xff0c;听完双方慷慨激昂的PK 后&#xff0c;输赢我到不关心&#xff0c;而生命有限&#xff0c;做…

关于《系统集成项目管理工程师》——建筑与建筑群综合布线工程中常见的术语和符号精华汇总

更多精彩请关注博主 博主主页请点击此处https://blog.csdn.net/qq_38639612?typeblog 关于《系统集成项目管理工程师》 建筑与建筑群综合布线工程中常见的术语和符号汇总 一、常见术语 1、建筑与建筑群综合布线系统 generic cabling system for building and campu…

How to Make Your Writing Stand Out From AI 如何让你的写作从人工智能中脱颖而出

Thanks to amazing tools such as ChatGPT, there is now a flood of well-written, functional, and useful writing to compete with if you’re a human writer. This means your writing needs to differentiate itself from this new breed of content. Here’s how to do…

ChatGPT和AI Art带来的变革,主导2023年的3个重要机器学习思想,理解这些概念可以让你在未来主宰人工智能

机器学习最近非常受欢迎。时刻都在发生如此多的事情,可能很难弄清楚您应该学习哪些想法。当你记得许多流行技术(ChatGPT、AI Art 等)都内置了多种技术和想法时,这会变得更加复杂。对于初学者来说,在没有先验知识的情况下以任何有意义的深度理解这些技术是不可能的。 在阅…

人工智能论文写作

AI领域论文写作 导论0科学研究的基本流程2寻找和总结文献阅读摘要阅读和记笔记框架 3 寻找研究痛点以及研究方向寻找研究痛点寻找研究方向方向1方向2&#xff1a;当前的热点方向方向3:方向4: 4论文写作和绘图工具 一、AI论文中relate work&#xff08;相关工作&#xff09;的写…

Input输入字数的限定

在一些应用程序或者网站里&#xff0c;你如果想要 修改名字&#xff0c;你就会发现&#xff0c;修改昵称是有限制的&#xff0c; 比如修改的昵称最少不能小于6个字符&#xff0c;最多 不能超过10个字符&#xff0c;如果少了或者多了就会提 示你说少了多了。这些都是通过限定输入…

OWASP Top 10大漏洞简要介绍

0x00 前言 OWASP&#xff08;开放式Web应用程序安全项目&#xff09;的工具、文档、论坛和全球各地分会都是开放的&#xff0c;对所有致力于改进应用程序安全的人士开放&#xff0c;其最具权威的就是“10项最严重的Web 应用程序安全风险列表” &#xff0c;总结了Web应用程序最…

[ 攻防演练演示篇 ] 利用谷歌 0day 漏洞上线靶机

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

OWASP top 10漏洞详解

一、写在前边 临近毕业&#xff0c;最近在找实习单位&#xff0c;看到好多招聘要求熟悉owasp top 10 安全漏洞&#xff0c;于是在经过一番查资料&#xff0c;终于有了大致的了解&#xff0c;为了加深印象&#xff0c;特意通过博客记录一下&#xff0c;也希望为有同样需求的同学…

多家大企业受GoAnywhere 0day 漏洞攻击影响

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;代码卫士 越来越多的企业开始证实遭 Fortra 公司 GoAnywhere 文件转移管理 (MFT) 软件0day 漏洞 (CVE-2023-0669) 的攻击。 该漏洞在今年2月初被公开披露&#xff0c;一周后该漏洞的利用和补丁也发布…

JavaEE-网络编程

网络编程 网络模型概述 计算机网络&#xff1a; 计算机网络是指将地理位置不同的计算机及其外部部件&#xff0c;通过通信线路连接起来&#xff0c;在网络编程协议下&#xff0c;实现不同计算机之间的信息共享以及信息交流的计算机系统。 网络编程的目的&#xff1a; 传播…

Python基础必备知识:同步异步阻塞非阻塞!

一、状态介绍 Python资源共享群&#xff1a;484031800 在了解其他概念之前&#xff0c;我们首先要了解进程的几个状态。在程序运行的过程中&#xff0c;由于被操作系统的调度算法控制&#xff0c;程序会进入几个状态&#xff1a;就绪&#xff0c;运行和阻塞。 就绪(Ready)状态…

献给程序员们的诗

作者&#xff1a;年素清 来源&#xff1a;年素清 诗人 & 码农 码农的工作很忙碌&#xff0c;码农的生活很枯燥&#xff0c;码农很苦&#xff01; 同为忙农的我苦中作乐&#xff0c;为了能够形象地描述出码农的生活工作乃至方方面面&#xff0c;我试着篡改了几首经典古诗词。…

餐饮行业消费市场---顾客满意度调查

一.调查主题&#xff1a; 一只酸奶牛&#xff08;小寨赛格店&#xff09;顾客满意度调查 二.调查目的 调查近期到店消费顾客对本店各项服务的满意度&#xff0c;主要了解不同群体对于店铺服务方面的体验情况&#xff0c;并参考顾客提出的建议&#xff0c;找出不足之处&#…

流量控制:停止-等待协议与连续ARQ协议

停止-等待协议 可靠通信三大机制&#xff1a;序号确认反馈超时重传机制 . 接收方收到重复帧有以下原因&#xff1a; 重复帧是由于发送方重发定时器超时&#xff0c;重发定时器超时的原因&#xff1a; 设定时间段数据帧出现比特差错&#xff0c;或网络延迟大确认差错或网络延…