INTERVIEW #2
吐槽下ZZ的面试安排:面试时间12:30不说了,周围没有饭店,中午就没吃饭。。。不像其他公司给每个人安排不同的面试时间,这样可以节约大家的时间,SPDB是把一大批人都安排在了12:30,而且面试是5个面试官对一个人,生生地把可以并行的工作给整废了,大部分时间都浪费在了无意义的等待上。
一、机试
50min三道题,考察地很基础,基本之前都练过。利用的是华科的OJ:http://hustoj.com/oj/,IDE有Dev-C++、Eclipse、PyCharm,Dev-C++没太用过,所以调试得很慢很慢。。。
1、十进制转二进制(http://acm.hdu.edu.cn/showproblem.php?pid=2051)
“除基取余,逆序排列”。每次将要转换的数除以基数Q,将余数作为低位存储直到商为0,将所有位由高到低输出即可。
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
int len = , num[];
do {
num[len++] = n % ;
n /= ;
} while (n);
for (int i = len - ; i >= ; i--)
printf("%d", num[i]);
printf("\n");
} return ;
}
之所以用do...while循环,是因为如果输入为0,用while会直接跳出循环,结果出错。
2、求出200以内所有3的倍数的数字和
没啥好说的。
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> int main()
{
int sum = ;
for (int i = ; i < ; i++)
{
if (!(i % ))
{
sum += i;
}
} printf("%d\n", sum); return ;
}
3、质因子分解(https://pintia.cn/problem-sets/994805342720868352/problems/994805415005503488)
这题寒假练过,不过机考时候忘了,素数表打的好像有问题。。。幸亏测试数据弱,就手工写了一个数组存了前面20个素数,结果AC了。。。
- 如果一个正整数n是一个合数,那么它的因子必然是在$\sqrt n$左右两侧成对出现;
- 推广到质因子,如果n存在[2,n]内的质因子,那么这些质因子要么全部小于等于$\sqrt n$,要么只有一个大于$\sqrt n$,其余都小于等于$\sqrt n$。
所以算法是:
1)枚举1~$\sqrt n$内的所有质因子,判断其是否是n的因子;
2)如果1)结束后$n>1$,那么其必然有且仅有一个大于$\sqrt n$的质因子,记录该因子;
3)输入是1要特判。
#define _CRT_SECURE_NO_WARNINGS #include <cstdio>
#include <cmath> const int maxn = + ; //如果是int范围,数组开10足够了,
//因为2*3*5*7*11*13*17*19*23*29就超过int了,所以我手工写一个数组也足够了。。。
struct fac {
int x;
int cnt; //质因子x的个数
}fac[]; bool isPrime(int a)
{
if ( == a)
return false; int sqr = sqrt(1.0*a);
for (int i = ; i <= sqr; i++)
{
if (!(a % i))
return false;
}
return true;
} int prime[maxn], num = ;
//打素数表
void primeTable()
{
for (int i = ; i < maxn; i++)
{
if (isPrime(i))
{
prime[num++] = i;
}
}
} int main()
{
primeTable(); //记得写,我好像没写这句。。。 long long n;
int diffFacNum = ; //n的不同质因子个数
scanf("%lld", &n);
printf("%lld=", n); if ( == n) //特判1
printf(""); else
{
int sqr = sqrt(1.0*n); //枚举2~sqrt(n)的质因子
for (int i = ; prime[i] <= sqr; i++)
{
if (n % prime[i] == ) //如果该质因子是n的因子
{
fac[diffFacNum].x = prime[i];
fac[diffFacNum].cnt = ;
//计算该质因子的个数
while (n % prime[i] == )
{
fac[diffFacNum].cnt++;
n /= prime[i];
}
diffFacNum++;
} if ( == n)
break;
} //必有一个大于sqrt(n)的质因子
if (n != )
{
fac[diffFacNum].x = n;
fac[diffFacNum++].cnt = ;
} for (int i = ; i < diffFacNum; i++)
{
if (i > )
printf("*"); printf("%d", fac[i].x);
if (fac[i].cnt > )
{
printf("^%d", fac[i].cnt);
}
} } return ;
}
二、面试
面试期间也被问到了一道题:
大致意思就是有一个正整数n,找出一个比n大且每位数字之和=n的每位数字之和的最小数,比如输入050,那么输出104。
我开始的思路是从n开始向上枚举,直到找到满足要求的数;
其实更优的解法是:对于在050~099之间的数根本不用考虑,因为必然不满足每位数字之和=n的每位数字之和,这样可以提高效率。
三、其它
1、语言:Java多态、C的数据类型;
2、数据结构:链表是否有环(烂大街了);
3、操作系统:进程状态及转换、进程线程区别。
INTERVIEW #2的更多相关文章
- Pramp mock interview (4th practice): Matrix Spiral Print
March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...
- WCF学习系列二---【WCF Interview Questions – Part 2 翻译系列】
http://www.topwcftutorials.net/2012/09/wcf-faqs-part2.html WCF Interview Questions – Part 2 This WCF ...
- WCF学习系列一【WCF Interview Questions-Part 1 翻译系列】
http://www.topwcftutorials.net/2012/08/wcf-faqs-part1.html WCF Interview Questions – Part 1 This WCF ...
- Amazon Interview | Set 27
Amazon Interview | Set 27 Hi, I was recently interviewed for SDE1 position for Amazon and got select ...
- Java Swing interview
http://www.careerride.com/Swing-AWT-Interview-Questions.aspx Swing interview questions and answers ...
- Pramp - mock interview experience
Pramp - mock interview experience February 23, 2016 Read the article today from hackerRank blog on ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- [译]Node.js Interview Questions and Answers (2017 Edition)
原文 Node.js Interview Questions for 2017 什么是error-first callback? 如何避免无止境的callback? 什么是Promises? 用什么工 ...
- WCF学习系列三--【WCF Interview Questions – Part 3 翻译系列】
http://www.topwcftutorials.net/2012/10/wcf-faqs-part3.html WCF Interview Questions – Part 3 This WCF ...
- WCF学习系列四--【WCF Interview Questions – Part 4 翻译系列】
WCF Interview Questions – Part 4 This WCF service tutorial is part-4 in series of WCF Interview Qu ...
随机推荐
- 8.1 api概述及使用
api文件:JDK_API_1.6.CHM 1:打开帮助文档2:点击显示,找到索引,看到输入框3:你要学习什么内容,你就在框框里面输入什么内容 举例:Random4:看包 java.lang包下的类在 ...
- 字典树&&AC自动机---看完大概应该懂了吧。。。。
目录 字典树 AC自动机 字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计 ...
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...
- AJ学IOS 之二维码学习,快速生成二维码
AJ分享,必须精品 二维码是一项项目中可能会用到的,iOS打开相机索取二维码的速度可不是Android能比的...(Android扫描二维码要来回来回晃...) 简单不多说,如何把一段资料(网址呀,字 ...
- AJ学IOS(43)之网易彩票底部自定义TabBar实现切换
AJ分享,必须精品 效果: 代码: NYTabBarController // // NYTabBarController.m // 彩票lottery // // Created by apple ...
- GitHub 热点速览 Vol.16:化身蒙娜丽莎和乔布斯对话
摘要:妙趣横生,上周的 GitHub 热点的关键词.无论是让你化身为爱因斯坦开启会议脑暴模式 avatarify,还是和上周人人都是抠图师项目的同门项目 3D 照片修复:3d-photo-inpain ...
- SpeedButton
SpeedButton是一个图形控件,本身没有句柄.因此它不能具有焦点.你可以使用TBitBtn,调整一些属性,可以使他们的外形很接近. 只有从TWinControl派生的控件,才具有Handle.你 ...
- G - Harmonic Number (II) LightOJ - 1245
算是一个找规律的题目吧. 枚举前sqrt(n)个数,数i出现的次数为n/i-n/(i+1),对答案的贡献为(n/i-n/(i+1))*i. 对于sqrt后边的数,可以直接由n/i获得,并且一定只出现一 ...
- Linux protobuf
生成C# protobuf 最终文件Net.cs .protoc --descriptor_set_out=a.protobin a.proto .mono protogen.exe -i:Net.p ...
- 详解 DatagramSocket类
(请观看本人博文 -- <详解 网络编程>) DatagramSocket 概述: 这类代表一个发送和接收数据包的插座. 该类是遵循 UDP协议 实现的一个Socket类. 数据报套接字发 ...