avatar
Ebay问啥没vacation mode?# PhotoGear - 摄影器材
r*s
1
刚结束saleforce的店面,两个烙印 一男一女,题目:// Function which takes int
and output all the prime numbers from 1 to the input int.input=10, output=2,
3,5,7.
同时还问了项目 经验等。
我code用Sieve of Eratosthenes,算比较熟练的写了出来。其中一个烙印看不懂,老
针对code提问,后来,我给code加上commend,并解释, 然后一个烙印说写的正确。然
后他们就问了test的问题。
我总体感觉,这次店面 算挺成功的, 希望 烙印别黑我,还请同胞们 扶一把,是QE组
的。
avatar
i*f
2
照了半天没发现有任何设置,只好用最笨的办法,将所有的东西的BIN的价钱改成天价
。结果蹦出几个病人,一位质问我为啥抬价,他盯我的一个东西很久就是舍不得下手。
另一位非常好奇,问我的东西是不是很特殊,为啥病人新的还贵一截。再有一位病人,
直接就BIN,我晕。。。
avatar
c*e
3
bless
avatar
N*w
4
靠,太牛了
天价卖出

【在 i***f 的大作中提到】
: 照了半天没发现有任何设置,只好用最笨的办法,将所有的东西的BIN的价钱改成天价
: 。结果蹦出几个病人,一位质问我为啥抬价,他盯我的一个东西很久就是舍不得下手。
: 另一位非常好奇,问我的东西是不是很特殊,为啥病人新的还贵一截。再有一位病人,
: 直接就BIN,我晕。。。

avatar
r*s
5
哎,HR回复悲剧了。我回HR要interview feedback。
HR回邮件说:"Interviewers said there were many errors in the programming
exercise...........the biggest down fall from the interview process"
烙印也太黑了吧,太不公平了。我code写的非常熟练 sieve of Eratosthenes,边写边
讲给他们听,最后还加注释并再讲解。
被烙印黑不止一次了。。烙印这样 卖着良心说瞎话,他们怎么会平安!

【在 c********e 的大作中提到】
: bless
avatar
a*9
6
有啊。。经常能看到有人设置说出去了,什么时候之后发货。
ps,德芙bso需要发包子了~
avatar
f*3
7
唉,只能相信湿婆会收拾他们了

【在 r****s 的大作中提到】
: 哎,HR回复悲剧了。我回HR要interview feedback。
: HR回邮件说:"Interviewers said there were many errors in the programming
: exercise...........the biggest down fall from the interview process"
: 烙印也太黑了吧,太不公平了。我code写的非常熟练 sieve of Eratosthenes,边写边
: 讲给他们听,最后还加注释并再讲解。
: 被烙印黑不止一次了。。烙印这样 卖着良心说瞎话,他们怎么会平安!

avatar
p*x
8
第三个绝对是bso 发包子吧.

【在 i***f 的大作中提到】
: 照了半天没发现有任何设置,只好用最笨的办法,将所有的东西的BIN的价钱改成天价
: 。结果蹦出几个病人,一位质问我为啥抬价,他盯我的一个东西很久就是舍不得下手。
: 另一位非常好奇,问我的东西是不是很特殊,为啥病人新的还贵一截。再有一位病人,
: 直接就BIN,我晕。。。

avatar
h*a
9
把code贴出来看看?

【在 r****s 的大作中提到】
: 哎,HR回复悲剧了。我回HR要interview feedback。
: HR回邮件说:"Interviewers said there were many errors in the programming
: exercise...........the biggest down fall from the interview process"
: 烙印也太黑了吧,太不公平了。我code写的非常熟练 sieve of Eratosthenes,边写边
: 讲给他们听,最后还加注释并再讲解。
: 被烙印黑不止一次了。。烙印这样 卖着良心说瞎话,他们怎么会平安!

avatar
G*d
10
包子

【在 i***f 的大作中提到】
: 照了半天没发现有任何设置,只好用最笨的办法,将所有的东西的BIN的价钱改成天价
: 。结果蹦出几个病人,一位质问我为啥抬价,他盯我的一个东西很久就是舍不得下手。
: 另一位非常好奇,问我的东西是不是很特殊,为啥病人新的还贵一截。再有一位病人,
: 直接就BIN,我晕。。。

avatar
t*d
11
烙印绝对的毒瘤
avatar
t*8
12
baozi
avatar
n*e
13
加油,相信自己!
这种公司没去成,也没关系。你也不想每天和这种烙印一起工作吧。

【在 r****s 的大作中提到】
: 哎,HR回复悲剧了。我回HR要interview feedback。
: HR回邮件说:"Interviewers said there were many errors in the programming
: exercise...........the biggest down fall from the interview process"
: 烙印也太黑了吧,太不公平了。我code写的非常熟练 sieve of Eratosthenes,边写边
: 讲给他们听,最后还加注释并再讲解。
: 被烙印黑不止一次了。。烙印这样 卖着良心说瞎话,他们怎么会平安!

avatar
j*c
14
baozi
avatar
r*s
15
用的是collabedit,面试结束,我还截屏了下备份,在eclipse中也测试成功。 code在
下面。 也造福其他童靴。
public void printPrimeNum(int num){
boolean[] flags=new boolean[num+1];
for(int i=2; i
for(int i=2; i*i<=num; i++){
if(flags[i]){
for(int j=i; j*i<=num;j++)
flags[i*j]=false;
}
}
System.out.println("The primes are: ");
for(int i=0;iif(flags[i]==true) System.out.print(" "+i+" ");
}
}
==============================================

【在 h*****a 的大作中提到】
: 把code贴出来看看?
avatar
S*t
16
baozi
avatar
r*s
17
@lcn: 童靴, 一样的。你把我的code 复制到eclipse上,再好好看看,跑跑。
我知道你说的意思,我的code 筛查的上线也是sqrt(i),在for loop里:你再看看
for(int i=2; i*i<=num; i++){
if(flags[i]){
for(int j=i; j*i<=num;j++)
flags[i*j]=false;
}
}
avatar
J*u
18
包子

【在 i***f 的大作中提到】
: 照了半天没发现有任何设置,只好用最笨的办法,将所有的东西的BIN的价钱改成天价
: 。结果蹦出几个病人,一位质问我为啥抬价,他盯我的一个东西很久就是舍不得下手。
: 另一位非常好奇,问我的东西是不是很特殊,为啥病人新的还贵一截。再有一位病人,
: 直接就BIN,我晕。。。

avatar
z*e
19
等下,你为什么不用Math.sqrt?
这个是java.math,基础包,为什么不用?

【在 r****s 的大作中提到】
: @lcn: 童靴, 一样的。你把我的code 复制到eclipse上,再好好看看,跑跑。
: 我知道你说的意思,我的code 筛查的上线也是sqrt(i),在for loop里:你再看看
: for(int i=2; i*i<=num; i++){
: if(flags[i]){
: for(int j=i; j*i<=num;j++)
: flags[i*j]=false;
: }
: }
:

avatar
o*x
20
baozi
avatar
f*3
21
这个可以argue,算乘法比平方根快多了

【在 z****e 的大作中提到】
: 等下,你为什么不用Math.sqrt?
: 这个是java.math,基础包,为什么不用?

avatar
m*7
22
baozi
avatar
j*1
23
我看上面的code, i*i<=num 和 Math.sqrt()一样的,一个穿上马甲,一个没穿马甲。

【在 z****e 的大作中提到】
: 等下,你为什么不用Math.sqrt?
: 这个是java.math,基础包,为什么不用?

avatar
S*r
24
要store才有那些设置
avatar
r*s
25
其中一个烙印在面试时候,说了 我是正确的,另一个烙印才知道她慢别人半拍。
这个无法argue吧,它们两个,我一个,人证都在烙印那里。。只能move on了。
这些烙印,要用白酒泡它们,跟蟑螂一个德性。

【在 f**********3 的大作中提到】
: 这个可以argue,算乘法比平方根快多了
avatar
z*e
26
可读性就变差了

【在 j***1 的大作中提到】
: 我看上面的code, i*i<=num 和 Math.sqrt()一样的,一个穿上马甲,一个没穿马甲。
avatar
r*s
27
其实,我在面试时候边敲边讲到 i*i<=num 时候, 有解释到 这是 sqrt(num),不需要i
一直增到num,因为a*b=num,if a>sqrt,then b
【在 z****e 的大作中提到】
: 可读性就变差了
avatar
l*n
28
你的筛法是对的。不过跟记录质数数组相比的缺点是空间分配太多了。

【在 r****s 的大作中提到】
: @lcn: 童靴, 一样的。你把我的code 复制到eclipse上,再好好看看,跑跑。
: 我知道你说的意思,我的code 筛查的上线也是sqrt(i),在for loop里:你再看看
: for(int i=2; i*i<=num; i++){
: if(flags[i]){
: for(int j=i; j*i<=num;j++)
: flags[i*j]=false;
: }
: }
:

avatar
r*s
29
说反了吧,跟记录质数数组相比 空间分配是节省了。因为 boolean is 1 bit,你额外
记录int的质数,int is 4 byte。最后打印出数组元素为true的boolean数组的下标,
此处,没有额外的占空间了。

【在 l*n 的大作中提到】
: 你的筛法是对的。不过跟记录质数数组相比的缺点是空间分配太多了。
avatar
l*n
30
呃,感觉还是记录质数比较划算。java的boolean存储是jvm dependent的,常见的是
1byte。即便是bit,差距也是32,而质数的密度是1/ln(n),asymptotically还是占优
吧。

【在 r****s 的大作中提到】
: 说反了吧,跟记录质数数组相比 空间分配是节省了。因为 boolean is 1 bit,你额外
: 记录int的质数,int is 4 byte。最后打印出数组元素为true的boolean数组的下标,
: 此处,没有额外的占空间了。

avatar
n*e
31
请问如何记录质数数组? 能给个codes吗? 多谢!

【在 l*n 的大作中提到】
: 你的筛法是对的。不过跟记录质数数组相比的缺点是空间分配太多了。
avatar
l*n
32
就是个arraylist啊,判断是质数了直接add进去就好了,反正amortized complexity
是O(1)。

【在 n****e 的大作中提到】
: 请问如何记录质数数组? 能给个codes吗? 多谢!
avatar
n*e
33
那如何判断质数?
这样你的算法复杂度是否比Sieve of Eratosthenes方法高?

【在 l*n 的大作中提到】
: 就是个arraylist啊,判断是质数了直接add进去就好了,反正amortized complexity
: 是O(1)。

avatar
j*1
34
把你的code发上来,让我们看看吧。

【在 l*n 的大作中提到】
: 就是个arraylist啊,判断是质数了直接add进去就好了,反正amortized complexity
: 是O(1)。

avatar
l*n
35
void printPrimes(int n) {
assert (n > 0);
ArrayList memo = new ArrayList();
if (n < 2)
return;
memo.add(2);
for (int i = 3; i <= n; i++) {
int k = 0;
while (memo.get(k) * memo.get(k) <= i && i % memo.get(k) != 0)
k++;
if (memo.get(k) * memo.get(k) > i)
memo.add(i);
}
System.out.println(Arrays.toString(memo.toArray()));
}

【在 j***1 的大作中提到】
: 把你的code发上来,让我们看看吧。
avatar
n*e
36
这个 while 循环
while (memo.get(k) * memo.get(k) <= i && i % memo.get(k) != 0)
k++
k会越界吗?

【在 l*n 的大作中提到】
: void printPrimes(int n) {
: assert (n > 0);
: ArrayList memo = new ArrayList();
: if (n < 2)
: return;
: memo.add(2);
: for (int i = 3; i <= n; i++) {
: int k = 0;
: while (memo.get(k) * memo.get(k) <= i && i % memo.get(k) != 0)
: k++;

avatar
l*n
37
不会啊,在sqrt(n)到n之间肯定有质数。

【在 n****e 的大作中提到】
: 这个 while 循环
: while (memo.get(k) * memo.get(k) <= i && i % memo.get(k) != 0)
: k++
: k会越界吗?

avatar
z*e
38
算一次,找个变量存起来不就好了
不用每次都算

【在 f**********3 的大作中提到】
: 这个可以argue,算乘法比平方根快多了
avatar
z*e
39
嗯,数组平常用得的确不是很多

【在 l*n 的大作中提到】
: 就是个arraylist啊,判断是质数了直接add进去就好了,反正amortized complexity
: 是O(1)。

avatar
n*e
40
哦,如果这个是成立的理论的话,那这个codes还是很好的, 学习了,多谢!

【在 l*n 的大作中提到】
: 不会啊,在sqrt(n)到n之间肯定有质数。
avatar
z*e
41
楼主代码不能说是错的
只能说是感觉不是那么好
但是说是错的不让过也明显扯淡了
阿三黑人了
avatar
j*1
42
感觉你的code用到ArrayList,这个不仅用到stack存reference,还用到heap
存Integer,所以还是耗空间了。另外 如果print prime num,够多,这个ArrayList<
Integer>的memo.add()会超过它的capacity,然后ArrayList就内部自己 增长它的容量
,然后把原先的element搬到新的ArrayList上去,,这样下来,还是耗时间了。

【在 l*n 的大作中提到】
: 不会啊,在sqrt(n)到n之间肯定有质数。
avatar
z*e
43
就是要放到heap去,stack是珍惜资源,远比heap珍贵
gc时候基本上都是扫描stack,而不是heap
时间复杂度如果对方问到这一步了
正好扯一下amortised complexity这个概念

heap

【在 j***1 的大作中提到】
: 感觉你的code用到ArrayList,这个不仅用到stack存reference,还用到heap
: 存Integer,所以还是耗空间了。另外 如果print prime num,够多,这个ArrayList<
: Integer>的memo.add()会超过它的capacity,然后ArrayList就内部自己 增长它的容量
: ,然后把原先的element搬到新的ArrayList上去,,这样下来,还是耗时间了。

avatar
t*3
44
move on吧
其实code是不是有些小问题没有那么重要,可以尝试一下边写边解释,尤其是这种电话
面试,写几句最好确认一下对方是和你在一个page上。如果出现你说的这个情况:
“其中一个烙印看不懂”
就已经很危险了,没有人希望让自己看起来蠢,哪怕它是真的很蠢。能够写出好的代码
,和说服别人同意你的东西是好的,是一样的重要

【在 r****s 的大作中提到】
: 刚结束saleforce的店面,两个烙印 一男一女,题目:// Function which takes int
: and output all the prime numbers from 1 to the input int.input=10, output=2,
: 3,5,7.
: 同时还问了项目 经验等。
: 我code用Sieve of Eratosthenes,算比较熟练的写了出来。其中一个烙印看不懂,老
: 针对code提问,后来,我给code加上commend,并解释, 然后一个烙印说写的正确。然
: 后他们就问了test的问题。
: 我总体感觉,这次店面 算挺成功的, 希望 烙印别黑我,还请同胞们 扶一把,是QE组
: 的。

avatar
z*e
45
我觉得筛法最直接的思路是
1先算sqrt
2然后存从1到sqrt之间的质数,存成一个collection
3然后再从sqrt找到n之间的质数,存成另外一个collection
4最后合并两个collection
可以优化,但是这样做比较直观
而且可以用到两个java核心类库
一个是math一个是util,所以这里有些可以展开的地方

要i

【在 r****s 的大作中提到】
: 其实,我在面试时候边敲边讲到 i*i<=num 时候, 有解释到 这是 sqrt(num),不需要i
: 一直增到num,因为a*b=num,if a>sqrt,then b
avatar
f*t
46
这行有问题:
for(int j=i; j*i<=num;j++)
改成:
for(int j=2; j*i<=num;j++)

【在 r****s 的大作中提到】
: 用的是collabedit,面试结束,我还截屏了下备份,在eclipse中也测试成功。 code在
: 下面。 也造福其他童靴。
: public void printPrimeNum(int num){
: boolean[] flags=new boolean[num+1];
: for(int i=2; i:
: for(int i=2; i*i<=num; i++){
: if(flags[i]){
: for(int j=i; j*i<=num;j++)
: flags[i*j]=false;

avatar
r*s
47
@flgsmit: 那行没有问题。你可以把code放到eclipse上跑下,再看看code。code是没
错的。
for(int i=2; i*i<=num; i++){
if(flags[i]){
for(int j=i; j*i<=num;j++)
flags[i*j]=false;
}
}
如果把j=i,改成j=2的话,你也能得到正确结果,但是你做了重复的事情,你用i=2;i=
3;i=4带进去试试,就会发现如果j=2,是做了之前已经做过的工作了,重复了。
wiki上筛选的描述:http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
....move on了。烙印很恶心。大家以后需提防。

【在 f*****t 的大作中提到】
: 这行有问题:
: for(int j=i; j*i<=num;j++)
: 改成:
: for(int j=2; j*i<=num;j++)

avatar
x*d
48
哥们儿,代码写的不错。经典的筛法。
面你的人水平差,可能没见过这个方法,这个有可能是黑你;还有可能是真傻,然后又
自以为是,觉得你方法不行。
有个小优化可以考虑下,内循环的乘法可以避免,每次用加法。
for(int j=i*i; j<=num;j+=i)
flags[j] = false;

用的是collabedit,面试结束,我还截屏了下备份,在eclipse中也测试成功。 code在
下面。 也造福其他童靴。
public void printPrimeNum(int num){
boolean[] flags=new boolean[num+1];
for(int i=2; i
for(int i=2; i*i<=num; i++){
if(flags[i]){
for(int j=i; j*i<=num;j++)
flags[i*j]=false;
}
}
System.out.println("The primes are: ");
for(int i=0;iif(flags[i]==true) System.out.print(" "+i+" ");
}
}
==============================================

【在 r****s 的大作中提到】
: 用的是collabedit,面试结束,我还截屏了下备份,在eclipse中也测试成功。 code在
: 下面。 也造福其他童靴。
: public void printPrimeNum(int num){
: boolean[] flags=new boolean[num+1];
: for(int i=2; i:
: for(int i=2; i*i<=num; i++){
: if(flags[i]){
: for(int j=i; j*i<=num;j++)
: flags[i*j]=false;

avatar
r*s
49
谢谢楼上所有大家们的鼓励和指点。
职位是给new grad的,所以考察题也不会非常难,就是测基础功夫。
是那些烙印有问题。被黑不止一次了。才在这里说。前两天Yahoo的店面,面试官又是
烙印,先是迟到,然后打电话说,过5分钟再打给你。后面打进来面试,态度很急促,
汗,感觉面试官不是很高兴。不会是不好的前兆吧。只能bless了。写code的题目是老
题,榜上的面经里有谈过。曾经写过,我还是很熟练的写了出来。
同时,顺求 牛人们内推,大家公司职位有open的,都可以 站内联系我。
我基础功扎实,吃苦耐劳,认真负责,遵规守距,团结互助。我住在湾区,只求份工作。
我擅长Java,SQL等+javascript,在校有RA经验如web开发,后台数据处理。

【在 l*n 的大作中提到】
: 不会啊,在sqrt(n)到n之间肯定有质数。
avatar
j*1
50
bless.

作。

【在 r****s 的大作中提到】
: 谢谢楼上所有大家们的鼓励和指点。
: 职位是给new grad的,所以考察题也不会非常难,就是测基础功夫。
: 是那些烙印有问题。被黑不止一次了。才在这里说。前两天Yahoo的店面,面试官又是
: 烙印,先是迟到,然后打电话说,过5分钟再打给你。后面打进来面试,态度很急促,
: 汗,感觉面试官不是很高兴。不会是不好的前兆吧。只能bless了。写code的题目是老
: 题,榜上的面经里有谈过。曾经写过,我还是很熟练的写了出来。
: 同时,顺求 牛人们内推,大家公司职位有open的,都可以 站内联系我。
: 我基础功扎实,吃苦耐劳,认真负责,遵规守距,团结互助。我住在湾区,只求份工作。
: 我擅长Java,SQL等+javascript,在校有RA经验如web开发,后台数据处理。

avatar
f*8
51
唉,现在面试,基本没有不碰到烙印的。烙印对付人的办法就是你算法好,IT问你基础
,基础好,IT问你算法,反正就不想让你过。别说你NEW GRAD,我工作多年的,碰到烙
印也要载。唯一可以报复的就是下次我面人,我决不让烙印混进来(暂时MAMANGER还不
是烙印)。

作。

【在 r****s 的大作中提到】
: 谢谢楼上所有大家们的鼓励和指点。
: 职位是给new grad的,所以考察题也不会非常难,就是测基础功夫。
: 是那些烙印有问题。被黑不止一次了。才在这里说。前两天Yahoo的店面,面试官又是
: 烙印,先是迟到,然后打电话说,过5分钟再打给你。后面打进来面试,态度很急促,
: 汗,感觉面试官不是很高兴。不会是不好的前兆吧。只能bless了。写code的题目是老
: 题,榜上的面经里有谈过。曾经写过,我还是很熟练的写了出来。
: 同时,顺求 牛人们内推,大家公司职位有open的,都可以 站内联系我。
: 我基础功扎实,吃苦耐劳,认真负责,遵规守距,团结互助。我住在湾区,只求份工作。
: 我擅长Java,SQL等+javascript,在校有RA经验如web开发,后台数据处理。

avatar
s*r
52
感觉不够优化,应该有快速前进地步子。
质数不能被小于平方根的质数整除,1除外。
烙印估计想要个优化的解法。

【在 r****s 的大作中提到】
: 用的是collabedit,面试结束,我还截屏了下备份,在eclipse中也测试成功。 code在
: 下面。 也造福其他童靴。
: public void printPrimeNum(int num){
: boolean[] flags=new boolean[num+1];
: for(int i=2; i:
: for(int i=2; i*i<=num; i++){
: if(flags[i]){
: for(int j=i; j*i<=num;j++)
: flags[i*j]=false;

avatar
m*4
53
觉得LZ写的不错。楼上好多大叔有点挑骨头了 :) 面试写的这么好居然说错误一堆,
烙印居然能这么胆大包天。LZ保存了不能ARGUE吗?
avatar
s*r
54
inner loop有重复的步骤,比如2和6, 3和4,都要set flag(12)
他的算法有点另类,写的code别人看不懂

【在 m**********4 的大作中提到】
: 觉得LZ写的不错。楼上好多大叔有点挑骨头了 :) 面试写的这么好居然说错误一堆,
: 烙印居然能这么胆大包天。LZ保存了不能ARGUE吗?

avatar
b*m
55
这是我在M家的onsite题之一。
avatar
j*1
56
现在水涨船高啊,曾经onsite题目,现在成了店面题目。

【在 b***m 的大作中提到】
: 这是我在M家的onsite题之一。
avatar
r*s
57
补充点知识,大家共勉,呵呵:
上面有童靴说,java的boolean存储是jvm dependent的,常见的是 1byte。
我去考古了下,确实Java的虚拟机不给力吖,处理boolean数组,元素是当成1 byte处
理。但理论上应该是1 bit的。因此,在遇到要用boolean数组时,应该用java.util.
BitSet 来替换boolean数组。BitSet is a vector of bits, JVM对BitSet 确实是按 1
bit处理的。这个工作时尤其处理后台大数据,用BitSet能省很多资源。
参考链接: http://chrononsystems.com/blog/hidden-evils-of-javas-byte-array-byte
avatar
z*e
58
public void printPrimeNum(int num) {
List list = new ArrayList();
//1
int sqrt = (int) Math.round(Math.sqrt(num));
//2
for (int i = 2; i <= sqrt; i++) {
boolean isPrime = true;
for (int j : list) {
if (i % j == 0) isPrime = false;
}
if (isPrime) list.add(i);
}
//3
List temp = new ArrayList();
for (int i = sqrt + 1; i <= num; i++) {
boolean isPrime = true;
for (int j : list) {
if (i % j == 0) isPrime = false;
}
if (isPrime) temp.add(i);
}
//4
list.addAll(temp);
System.out.println(list);
}
avatar
z*e
59
对于内存的管理,如无必要,不要优化
否则java可以优化的地方实在太多
而实际工作中你没有力气去搞这些内存的管理
全部交给gc去做,如果你真对内存管理那么有兴趣
去了解一下gc的各种策略,不过这是很高级的java技巧了

1

【在 r****s 的大作中提到】
: 补充点知识,大家共勉,呵呵:
: 上面有童靴说,java的boolean存储是jvm dependent的,常见的是 1byte。
: 我去考古了下,确实Java的虚拟机不给力吖,处理boolean数组,元素是当成1 byte处
: 理。但理论上应该是1 bit的。因此,在遇到要用boolean数组时,应该用java.util.
: BitSet 来替换boolean数组。BitSet is a vector of bits, JVM对BitSet 确实是按 1
: bit处理的。这个工作时尤其处理后台大数据,用BitSet能省很多资源。
: 参考链接: http://chrononsystems.com/blog/hidden-evils-of-javas-byte-array-byte

avatar
p*y
60
这黑的也太猖狂了吧,惊叹!
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。