没结婚也能买房啊!大波士顿地区买房小tips

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
[Google级团队]:实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习职位
日志易机器大数据行业践行者Web/大数据/机器学习等职位-北京or深圳
把贵司招聘信息放这里
查看: 2593|回复: 3
收起左侧

AppDyn面经

[复制链接] |试试Instant~ |关注本帖
xiaoxi99cs 发表于 2015-6-14 16:38:40 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类General 硕士 全职@AppDynamic - Other - 技术电面  | Fail | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
问个 thread safe 问题 , 要求从一个 目录中找出没有重复的文件
写了个如下的 简单的code, 如果不用 synchronized 做到高效的 thread safe
  1.         List<File>   findUnique(List<File> files){ // path
  2.             Set<String> dupFiles = new HashSet<String>();
  3.             List<File> res = new ArrayList<File>();
  4.             ConcurrentHashMap<String, List<String>> hashMap = new ConcurrentHashMap<String, List<String>>();  // hash code , list of file Names
  5.                 for(File file: files ){
  6.                     String curHcode = hash( file );. 1point3acres.com/bbs
  7.                     List<String> val = hashMap.get(curHcode);
  8.                     if( val == null ){
  9.                                  val =  new ArrayList<String> ();
  10.                                  hashMap.put(curHcode, val);
  11.                     }
  12.                     val.add(file.getName());. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  13.                 }
  14.                 for(String key:hashMap.keySet()){
  15.                         List<String> val =  hashMap.get(key);
  16.                         if( val.size() > 1 )
  17.                                 dupFiles.addAll(val);
  18.                 }
  19.                 for(File file : files){
  20.                   if( !dupFiles.contains( file.getName() ) )  .1point3acres缃
  21.                      res.add(file);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  22.                 }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  23.                 return res;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  24.         }
复制代码
 楼主| xiaoxi99cs 发表于 2015-6-14 16:39:31 | 显示全部楼层
不用 synchronized, 如何做到更高效的 thread safe
回复 支持 反对

使用道具 举报

lichenga2404 发表于 2015-6-26 14:31:49 | 显示全部楼层
请教一下 为什么这题要考虑 multi thread 问题?. From 1point 3acres bbs
是因为这个directory 可能会有其他thread做 添加文件和删除文件操作吗?
回复 支持 反对

使用道具 举报

夏夜的未央 发表于 2016-2-25 14:41:50 | 显示全部楼层
不懂为什么要 for(String key:hashMap.keySet()){
                        List<String> val =  hashMap.get(key);
. From 1point 3acres bbs                        if( val.size() > 1 )
                                dupFiles.addAll(val);
                }. Waral 鍗氬鏈夋洿澶氭枃绔,

不能 for(String key:hashMap.keySet()){
                        List<String> val =  hashMap.get(key);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                        if( val.size()  == 1 ){
                         }
                              
                }
. 1point 3acres 璁哄潧
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-4-22 03:30

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表